您的位置:首页 > 移动开发 > Android开发

Android 性能优化

2016-06-28 16:33 288 查看


布局优化

减少布局文件的层级(测量/布局/绘制的时间减少):可以使用RelativeLayout来减少嵌套,从而达到减少层级的目的,另外在相同层级的情况下使用LinearLayout(相比于RelativeLayout更高效)

使用
include
标签复用,
merge
标签降低层级,
ViewStub
来实现懒加载,另外补充一个
Space
可以用来占位


绘制优化(onDraw)

主要是避免执行大量的操作.

不要创建新的局部对象,因为onDraw可能会被频繁调用,会在一瞬间产生大量的临时对象,会导致占用过多内存,系统更加频繁的gc,降低执行效率

不要做耗时的任务


内存泄露优化

其实内存泄露有很多种情况,但是书中列举的比较少

静态变量导致的内存泄露(比如静态的context,静态的view)

单例模式持有Activity

属性动画(repeatCount为无限模式)


ListView和Bitmap优化

ListView使用viewholder模式,Bitmap在12章有讲,这里不重复.


线程优化

主要是采用线程池(11章有讲)

避免存在大量的Thread

重用Thread,避免线程创建和销毁所带来的开销

线程池还能控制最大并发数,避免大量线程因互相抢占系统资源从而导致阻塞


其他的一些性能优化建议

避免创建过多的对象

不要过多使用枚举(枚举占用的内存空间要比整型的大)

常亮使用
static final
来修饰

使用一些Android特有的数据结构,比如
SparseArray
Pair
等,它们都具有更好的性能(注:减少了自动装箱和拆箱的消耗)

适当使用软引用和弱引用

尽量采用静态内部类(不会持有外部类的实例)


提高可维护性

命名规范

代码排版

给非常关键的代码写注释

代码要有层次性,可扩展
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息