第十五章 Android性能优化

2022-03-02  本文已影响0人  橙子6193

1.布局优化

-减少布局嵌套
-使用<include>、<merge>标签
-使用ViewStub,按需加载,需要时才将布局加载进内存

2.绘制优化

onDraw方法里不要创建局部对象,因为onDraw可能会被频繁调用,这样就会在一瞬间产生大量的临时对象,不仅会占用过多的内存还会导致系统频繁gc,降低程序的执行效率;不要做耗时操作

3.内存泄漏优化

内存泄漏的常见场景:
-静态变量持有一个对象,导致该对象不能被及时释放
-单例类中持有一个对象,因单例类生命周期和应用一样,导致对象不能及时释放
-一些资源未及时关闭,如cursor
-Bitmap未及时回收
-一些注册操作未注销

4.响应速度优化

在子线程去处理耗时任务,避免ANR,系统发生ANR后会在/data/anr目录下创建一个trace.txt文件,通过这个文件可以分析ANR的具体原因

5.ListView和Bitmap优化

ListView的优化主要是通过对convertView和ViewHolder的使用,避免在getView过程中进行大量的操作,还有就是根据列表的滑动状态来控制任务的执行频率,当列表快速滑动时不要开启大量的异步任务(查看第12章)
Bitmap的优化主要就是通过对inSampleSize调整对图片就行压缩

6.线程优化

采用线程池,可以设置最大线程数来避免创建过多的线程,通过对线程复用,减少线程创建和销毁的开销

上一篇 下一篇

猜你喜欢

热点阅读