Android性能优化总结

1、布局优化

(1)使用优先顺序:LinearLayout,FrameLayout > RelativeLayout > 嵌套;

(2)使用onDraw()方法可能会频繁使用,避免在这个方法中创建新的局部对象和执行耗时操作,

由于可能频繁调用onDraw(),就会频繁出发GC,降低效率。

2、内存泄漏

(1)在该释放对象的时候释放(动态注册广播、数据库操作)

(2)静态变量,生命周期从类加载到销毁

(3)单例模式,生命周期和Application一样

(4)属性动画,动画无限循环执行,在onDestroy()是没有停止,Activity和View相互持有,Activity无法释放。

3、ANR

(1)主线程避免耗时操作,如有耗时操作,开子线程进行

4、ListView

(1)contentView复用View

(2)使用ViewHolder

(3)避免在getView()中有太多耗时操作或者创建局部对象,滑动较快时避免大量异步操作

5、线程优化

(1)开大量线程时使用线程池,线程池可以重复使用内部的线程,避免线程创建销毁带来的性能开销

6、图片相关

(1)使用弱引用、软引用缓存。弱引用拥有更短暂的生命周期,一旦发现有弱引用的,就回收,不管内存足够与否。软引用只有当内存空间不足的时候才会回收。

(2)图片压缩

7、其它

(1)尽量创建局部变量,避免全局变量。

(2)for循环也要避免创建对象。

你可能感兴趣的:(Android性能优化总结)