我有一个应用程序,其中有很多活动,并且所有活动的布局都有很多视图(TextViews,以不同样式显示不同类型的数据,ImageViews 等)。
当活动加载时,它们需要太多时间来加载布局/UI(超过一秒)。
问题: 有没有办法减少加载 Activity 所需的时间,因为 Activity 加载 UI 的时间太长?
我所拥有的简短描述:
onCreate()
中加载我正在考虑做以下任一事情:
以更少的活动数量和更多的片段数量将应用程序转换为片段。例如,有一个 Home Activity 加载第一个片段,并且与应用程序的进一步交互通过片段事务不断加载/切换片段以用于不同的目的。仅当我达到片段限制时,我才会生成新活动。
对提高速度有帮助吗?
以某种方式分解 UI,一旦 Activity 启动,最基本的 UI 就会加载到视图中,所有其他 UI 元素都
inflated
位于后台线程(AsyncTask)中,然后 added
到根当前视图。不同意见,哪种方法会更好?
有没有更好或标准的方法来解决这个问题?
感谢所有的投入。预先感谢!
对于您已经要做的事情,这里有一些更多建议。
如果您在
onCreate()
方法中注入视图,请确保使用设计时注入框架(Bufferknife 或 AndroidAnnotations),而不是运行时注入框架(Guice、RoboGuice)。运行时框架肯定会减慢启动时间。 如果您有最初对用户不可见的视图,您可以使用 ViewStub 并按需加载它们。
现代方式:AsyncLayoutInflater