启动优化:
application中不要做大量耗时操作,如果必
须的话,建议异步做耗时操作
布局优化:
使用合理的控件选择,少嵌套。(合理使用
include,merge,viewStub等使用)
apk优化
(资源文件优化,代码优化,lint检查,.9.png,
合理使用shape替代图片,webp等)
性能优化,网络优化,电量优化
避免轮询,尽量使用推送。
应用处于后台时,禁用某些数据传输
限制访问频率,失败后不要无限重连
选用合适的定位服务(GPS定位,网络定位,被动定
位)
使用缓存
startActivityForResult替代发送广播
内存优化
循环尽量不使用局部变量
避免在onDraw中创建对象,onDraw会被频繁调用,容易造成内存抖动。
循环中创建大的对象,也是如此。
不用的对象及时释放
数据库的cursor及时关闭
adapter使用缓存
注册广播后,在生命周期结束时反注册及时关闭流操作
图片尽量使用软引用,较大的图片可以通过
bitmapFactory缩放后再使用,并及时recycler。另
外加载巨图时不要 使用setImageBitmap或
setImageResourse或
BitmapFactory.decodeResource,这些方法拿到的都
是bitmap的对象,占用内存较大。可以用
BitmapFactory.decodeStream方法配合
BitmapFactory.Options进行缩放
避免static成员变量引用资源耗费过多实例
避免静态内部类的引用