Android 内存优化最佳策略

优化 BitMap 加载
这里单独把 Bitmap 拎出来讲是有特定的原因的,由于 Bitmap 非常占用内存,所以我们需要考虑对 Bitmap 加载进行优化。

避免加载 Bitmap 出现 OOM 问题
加载 Bitmap 前,考虑进行适当的压缩
使用合理的缓存策略
避免 new Thread
thread 会占用系统资源,我们应该避免野蛮的使用 new Thread,而是使用线程池,使用 ThreadPoolExecutor 或者其子类,即便是 AsyncTask 中也是使用了线程池管理子线程的启动和使用。

避免内存泄漏
检测内存泄漏的方式很多,上面已经提到了,避免内存泄漏,不仅是为了程序性能,更是为了程序的使用体验。

内部类,避免内部类引用外部类导致内存泄漏
static 变量,注意全局 static 变量,尽量不要引用 Activity 等生命周期明显的变量,或者需要手动释放
BroadCast 等使用完毕之后取消监听或者反注册
优化布局
尽量使用少的布局,因为 ViewTree 的绘制是非常耗费时间的,过多的使用 findViewById() 方法也是非常消耗时间的。在 ViewPager 等类似的控件中,考虑增加缓存项目。

使用 Fragment
使用 ViewPager 和 Fragment 时,如果 Fragment 较少,可以直接使用 FragmentPagerAdapter,如果 Fragment 较多则需要使用 FragmentStatePagerAdapter ,会有较好的性能体验
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值