Android 内存泄漏
Android内存泄漏(Memory Leak)是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存并且分配给其他进程使用。通常少次数的内存无法及时回收并不会到程序造成什么影响,但是如果在内存本身就比较少获取多次导致内存无法正常回收时,就会导致内存不够用,最终导致内存溢出。
内存泄漏的典型场景包括:
1. 非静态内部类的静态实例:由于内部类默认持有外部类的引用,而静态实例属于类,所以,当外部类被销毁时,内部类仍然持有外部类的引用,致使外部类无法被GC回收,从而造成内存泄露。
2. 不正确的Handler:如果Handler内部类默认持有外部类的引用,当Activity销毁时,如果MessageQueue中仍有未处理的消息,那么Handler示例将继续存在,从而导致内存泄露。
需要注意的是,内存泄漏最终会导致内存溢出,由于系统中的内存是有限的,如果过度占用资源而不及时释放,最后会导致内存不足,从而无法给所需要存储的数据提供足够的内存,从而导致内存溢出。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章
科技快看 网站地图广州壹创集信息科技有限公司 版权所有 粤ICP备2021122624号