OOM(OutOfMemory)内存溢出
OOM指申请的内存没有足够,导致出现OutOfMemory的一种现象、
查看内容限制的方式如下,可以使用adb命令如下图
OOM产生的几大因素
内存泄漏
长期的内存泄漏最终会导致OOM内存溢出
常见的内存泄漏原因如下:
1.单例模式传activityContext会造成内存泄漏,传applicaionContext可以避免造成内存泄漏
2.非静态内部类创建静态实例会造成内存泄漏
3.Handler 使用延时方式调用会造成内存泄漏,可以把Handler使用静态内部类方式声明解决内存泄漏问题
4.线程造成内存泄漏,同样使用静态内部类方式声明解决内存泄漏问题
5.使用WebView,由于所获取的资源较多很可能会造成内存泄漏,可以使用单独启动进程来开启WebView,在不使用WebView时直接讲进程杀死从而避免内存泄漏的产生
6.io流没有及时关闭,数据库操作后没有及时关闭释放,都会造成内存泄漏