找回密码
 立即注册
查看: 64|回复: 0

“内存泄露”的概念,其产生的原因和后果是什么?

[复制链接]

10

主题

0

回帖

40

积分

新手上路

积分
40
发表于 2023-2-2 17:51:46 | 显示全部楼层 |阅读模式
一:什么是内存泄露
内存泄露是指:内存泄漏也称作"存储渗漏",用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。



二:常见的内存泄露造成的原因
1、单例造成的内存泄漏
由于单例的静态特性使得其生命周期和应用的生命周期一样长,如果一个对象已经不再需要使用了,而单例对象还持有该对象的引用,就会使得该对象不能被正常回收,从而导致了内存泄漏。
示例:防止单例导致内存泄漏的实例
2、非静态内部类创建静态实例造成的内存泄漏
3、Handler造成的内存泄漏
示例:创建匿名内部类的静态对象


三:如何避免内存泄漏?

平常养成良好的代码书写习惯,该销毁的对象要销毁比如destory啊 广播啊 ,涉及到要用到content上下文的优先考虑全局上线文对象。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|粤嵌技术交流空间

GMT+8, 2025-7-8 02:28 , Processed in 0.675369 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表