性能优化总结

一、布局优化

尽量减少布局的层级,有选择的使用功能较为复杂,性能较低的viewgroup,如:relativeLayout,但推荐使用relativiLayout来替换多重嵌套的linearLayout,减少布局层级。推荐使用<include>,<merge>和ViewStub来布局。

二、绘制优化

避免在view的onDraw中进行大量的操作。主要体现于两个方面:
不要在onDraw中创建新的局部对象,因为onDraw可能会被频繁的调用,这时将会产生大量的临时对象,不仅会占用更多的内存,还会频繁的引起系统的gc,降低执行效率。
不要在onDraw中执行耗时操作,或大量循环,尽管每次循环都很轻量级,但对大量循环仍然会抢占很多时间片,导致绘制不流畅。

三、内存泄漏优化

什么是内存泄漏:内存泄漏只动态申请的内存空间在使用完毕后没有及时释放,从而导致程序所需内存越来越多,严重情况会导致oom。    
内存泄露场景:
资源使用完毕没有关闭:数据库cursor,流等
静态变量、单例持有对象的引用会使该对象无法销毁
无限循环的属性动画也会使activity无法销毁
context被生命周期常于activity的对象持有导致activity无法销毁

四、线程优化

 尽量采用线程池,避免程序中存在大量的Thread。线程池会对内部的线程进行复用,还可以控制线程的最大并发数量。

五、listview以及bitmap的优化

   内容较多,占坑待补
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值