android-关于内存优化的一些总结
2018-06-28 本文已影响153人
Jlanglang
-
内存泄漏
如果app存在内存泄漏没有解决,就先不要想其它的了,先把内存泄漏解决掉
-
图片展示
以glide为例:
1.ImageView一定不要宽高都使用wrap_content
2.尽量要求后台根据具体情况返回大中小 3种图片。
3.glide.with(),尽量使用activity或者fragment。不要使用applicationContext
4.根据机型的内存大小,来设置图片的显示模式。内存小就用 RGB565 ,内存大就用 ARGB8888
5.
image.png
图中两个方法在application中
-
集合
如果可以,使用ArrayMap,SparseArray代替hashmap
-
布局优化
fragment不可见时,使用hide隐藏,可见时show
activity同理。
减少布局层级嵌套,既能优化内存,又能优化渲染速度。
-
io操作
不要一次性全部读取到btye[],分段读写
byte[],注意释放引用。
ByteArrayOutPutStream,直接缓冲到内存,需要注意释放。不然容易oom,一般常见于读取bitmap
-
细节优化
延时成员变量初始化
重复使用的对象,使用单例模式
String 使用 + 号拼接,或者使用 StringBuilder
枚举 过多可以使用注解的形式代替枚举