Android内存优化官方指南

前言:在开发中遇到加载图片的业务时,一不小心就会碰到oom等令人头痛的问题,在低配手机上尤其明显.以下是谷歌官方优化建议

1.避免使用常驻服务

在一个服务使用时再去启动,不用时停止,应用开发推荐使用IntentService

2.合理选择容器

针对HashMap,Android有专门优化过的容器,比如LongSparseArray

3.小心使用抽象

抽象能大大简化子类的代码,但是很多子类并不需要的代码也被放到了类里面,有隐形影响

4.用Protocol Buffers代替序列化数据

谷歌出品,必属精品

5.避免内存流失

常见的有在ondraw里面new obj()

6.移除多余的库

很多时候第三方库能大大节省我们开发代码的时间,但也要考虑到库本身是不是太大并消耗了我们的内存

7.减小apk的体积

使用webp代替png图标,能缩小40%到60%的空间;
使用AS的Analyz分析代码中没用到的资源;
代码混淆也会减小一定的体积

8.依赖注入框架选择Dagger2

谷歌描述的是不会像其他注入框架扫描代码,影响性能

9.谨慎使用外部库

互联网上常用的库,有些可能不是专为手机的操作系统设计的,我们要考量两个方面:本身大小和内存占用情况


针对图片oom,对新手来说使用记住一个公式就可以了
Picasso.with(context).fit().into(view)//Picasso2.5.2版本
这行代码会根据imageview的大小自动适配图片大小

想要深入了解的同学记住一点,就是图片分辨率太大了,想办法压缩图片;就像人耳听觉有频率限制,太高清的图片在手机上也是浪费资源,压缩后肉眼也看不出明显区别

你可能感兴趣的:(Android内存优化官方指南)