软件产生内存泄露的原因是什么

 我来答
宏聚变
2015-09-14 · 知道合伙人体育行家
宏聚变
知道合伙人体育行家
采纳数:12945 获赞数:118234
现就读华南理工大学广州学院。

向TA提问 私信TA
展开全部

  内存泄漏产生的原因一般是三种情况:

  1. 分配完内存之后忘了回收;

  2. 程序Code有问题,造成没有办法回收;

  3. 某些API函数操作不正确,造成内存泄漏。

  内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。

  内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟内存大小取决于磁盘交换区设定的大小。由程序申请的一块内存,如果没有任何一个指针指向它,那么这块内存就泄漏了。

liupeng971321
2010-07-02 · TA获得超过1287个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:436万
展开全部
有很多原因导致内存泄露,比如程序中分配了内存而又没有释放,程序设计员因,操作系统漏洞等等。下面的文章你可以参考,有助于理解,并可以下载一些内存检测工具,查看内存的情况。

参考地址:http://baike.baidu.com/view/714962.htm?fr=ala0_1_1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2015-08-04 · TA获得超过3.1万个赞
知道大有可为答主
回答量:6571
采纳率:86%
帮助的人:920万
展开全部
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。
内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟内存大小取决于磁盘交换区设定的大小。由程序申请的一块内存,如果没有任何一个指针指向它,那么这块内存就泄漏了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式