Android性能优化

Android性能优化有多种方式,在多个方面都有体现:

  • 布局优化:布局优化的思想就是减少布局的层级,使用<include/>, <merge/> , <ViewStub/>来优化布局。

  • 绘制优化:绘制优化是指在ViewonDraw()方法内避免执行大量的操作。不要在在onDraw()方法内创建大量的局部对象,这不仅会占用过多内存还会频繁gc,降低程序的效率;不要在onDraw()方法内执行耗时操作,绘制时间要保持在16ms以内,防止界面卡顿。

  • 内存泄漏优化:内存泄漏,是指一段内存在该释放的时候却得不到释放,导致App内内存越用越少。一,静态变量导致的内存泄漏,静态变量的生命周期是整个程序的生命周期,所以不要让静态变量引用生命周期比程序生命周期短的对象;二,单例模式导致的内存泄漏,单例模式对象引用局部对象导致内存泄漏;三,属性动画或线程导致的内存泄漏,属性动画和线程不去主动停止,会一直执行下去的,要在适当的时候停止属性动画和线程。

  • 响应速度优化和ANR:响应速度优化是指避免在主线程做耗时操作,因为操作都是在主线程响应的 ;解决ANR问题,如果不能在代码中找到导致ANR的原因,则可以分析traces.txt找到原因,traces.txt文件会记录导致ANR的原因的。

  • ListViewBitmap优化:ListView采用convertView+ViewHolder缓存策略,来避免在getView()中执行耗时操作,三级缓存,异步加载,不要在滑动的时候去加载图片,开启硬件加速,来加速渲染;Bitmap的优化则是加载压缩后的Bitmap,采样率。

  • 线程优化:不要开启大量线程,采用线程池。

参考 《Android开发艺术探索》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值