OOM是Java 异常,java.lang.OutOfMemoryError
导致OOM的原因:
- 加载大图片导致内存溢出
 - 大量的内存泄漏
 
解决方法:
- 使用更轻量的数据结构
 - 避免在Android里面使用Enum
 - 减少Bitmap对象的内存占用:缩放比例、解码格式
 - 使用更小的图片
 - 复用系统自带的资源
 - ListView、GridView中对ConvertView的复用,ViewHolder内部类使用
 - 避免onDraw方法中执行对象的创建
 - 用StringBuilder进行拼接
 - 注意Activity的泄漏:内部类引用导致Activity泄漏、Activity的Context被传递到其他实例中,可能导致自身被引用而发生泄漏。