加快界面加载
除了从 XML Layout 文件里面角度减少布局层级,还通过提前加载布局,即在线程中做一些必要的 inflate 等来提前初始化布局,减少实际显示时的耗时。对于一些复杂的布局,我们还会自己做View对象复用池,减少 inflate 带来的性能损耗,特别是在列表控件中。
可以通过 TraceView 工具找出主线程的耗时操作和其他耗时的线程并作优化,另外减少主线程的 GC 停顿。因为即使并行 GC,也会对 heap 加锁,如果主线程请求分配内存的话,也会被挂起,所以尽量避免在主线程分配较多对象和较大的对象,特别是在onDraw等函数中,以减少被挂起的时间。另外可以通过去掉 ListView、ScrollView 等控件的 EdgeEffect 效果,来减少内存分配和加快控件的创建时间。
利用本地缓存,主要界面缓存上次的数据,