我有一个应用程序,它有很多活动,所有活动的布局都有很多视图(TextViews,以不同的样式显示不同类型的数据,ImageViews等)。
当活动加载时,它们会花费太多时间来加载布局/ UI(超过一秒钟)。
问题:有没有办法减少加载活动所需的时间,因为加载UI需要很长时间?
对我所拥有的简短描述:
onCreate()
中加载我正在考虑做以下任何一件事:
以一种活动数量较少,碎片数量较多的方式将应用程序转换为碎片。例如,有一个Home Activity加载第一个片段,并且与app的进一步交互通过Fragment Transactions在不同目的之间保持片段之间的加载/切换。只有当我遇到片段的限制时,我才会产生一个新的活动 它会帮助提高速度吗?
在活动开始后,视图中加载了最基本的UI,并且所有其他UI元素在后台线程(AsyncTask)中都是inflated
,然后{ {1}}到当前视图的根目录。
在不同的意见中,哪种方法会更好?
有没有更好或更标准的方法来解决这个问题?
欣赏所有输入。提前谢谢!
答案 0 :(得分:1)
以下是您已经要做的更多建议。
如果您在onCreate()
方法中注入视图,请确保使用设计时注入框架(Bufferknife或AndroidAnnotations)而不是运行时注册框架(Guice,RoboGuice)。运行时框架肯定会减慢启动时间。
如果您有最初对用户不可见的观看次数,则可以使用ViewStub并按需加载。