OOM即:程序向系统申请内存空间超过了系统能给的。
2.数据库查询后cursor没有关闭,未停止查询,会导致后台一直在做数据查询工作,导致内存溢出;
3.构造器adapter未使用contentview,即为复用,这样会导致重复部分被当做新模块重新新建和删除,导致内存溢出;
4.广播使用后未调用UNregister解除注册,是的,广播在使用完毕后没有释放,导致内存溢出;
5.IO数据流操作后没有及时关闭流,导致内存溢出;
6.bitmap全局对象使用完毕后没有释放,导致内存溢出。
Android中发生OOM并不表示RAM不足,OOM的产生是因为Android为每个程序准备的虚拟机heap内存是有限的,这样是想让更多的程序能在app后台常驻,让再启动更快;但是人为的代码操作不当会导致这个内存空间占用出现异常,引发错误。
常见的OOM的异常有:
2.数据库查询后cursor没有关闭,未停止查询,会导致后台一直在做数据查询工作,导致内存溢出;
3.构造器adapter未使用contentview,即为复用,这样会导致重复部分被当做新模块重新新建和删除,导致内存溢出;
4.广播使用后未调用UNregister解除注册,是的,广播在使用完毕后没有释放,导致内存溢出;
5.IO数据流操作后没有及时关闭流,导致内存溢出;
6.bitmap全局对象使用完毕后没有释放,导致内存溢出。