内存优化的理解(供自己做记录)
1.使用优化后的数据容器:例如使用ArrayMap、SparseArray等代替原来的HashMap;因为在每个 Map 中对于每一次的存放数据,他都需要独立一个单独的 Entry 对象进行传芳。而 SparseArray 由于禁止系统自动封装键值对,因此他更加有效率。
2.注意内存花销:对你正在使用的语言和依赖包拥有一定的了解,并且在你设计应用的整个阶段,都不要忽视它。通常大多数看起来无害的东西都可能让你花费大量的内存,比如说一下的几个:
-
1.枚举与静态常量相比,通常会消耗两倍的内存资源,因此你应该尽量避免在 Android 中使用枚举类型
2.Java 中的每一个类(包括匿名内部类),都会消耗大约500比特内存
3.每一个类对象都会消耗12-16比特内存
4.把单个 Entry 放入 HashMap 需要多消耗32比特的内存
3.不要创建你还不需要的对象;不要再for循环中new;使用布局时尽量减少层级;