android 关于内存优化的一些总结

本文提供了一套详实的App内存优化方案,从解决内存泄漏、合理使用图片加载库Glide,到选择合适的数据结构和布局优化策略,以及nio操作和细节优化技巧,全面覆盖了内存管理的关键点。
  • 内存泄漏

如果app存在内存泄漏没有解决,就先不要想其它的了,先把内存泄漏解决掉

  • 图片展示

以glide为例:

1.ImageView一定不要宽高都使用wrap_content
2.尽量要求后台根据具体情况返回大中小 3种图片。
3.glide.with(),尽量使用activity或者fragment。不要使用applicationContext
4.根据机型的内存大小,来设置图片的显示模式。内存小就用 RGB565 ,内存大就用 ARGB8888
复制代码

5.

图中两个方法在application中

  • 集合

如果可以,使用ArrayMap,SparseArray代替hashmap

  • 布局优化

fragment不可见时,使用hide隐藏,可见时show activity同理。 减少布局层级嵌套,既能优化内存,又能优化渲染速度。

  • io操作

不要一次性全部读取到btye[],分段读写 byte[],注意释放引用。 ByteArrayOutPutStream,直接缓冲到内存,需要注意释放。不然容易oom,一般常见于读取bitmap

  • 细节优化

 延时成员变量初始化
 重复使用的对象,使用单例模式
 String 使用 + 号拼接,或者使用 StringBuilder
 枚举 过多可以使用注解的形式代替枚举
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值