更好地理解内存释放

Posted

技术标签:

【中文标题】更好地理解内存释放【英文标题】:Better Understanding Memory Release 【发布时间】:2010-08-10 09:32:22 【问题描述】:

我是 Objective-C 的新手,作为我正在编写的第一个应用程序,我将从一个简单的基于 WebKit 的浏览器开始。到目前为止,我做得很好并且能够加载网站,但经过一段时间的使用,内存使用率往往会变高。我已经阅读了有关保留、释放、自动释放管理的文档,但我只有一个问题。如果我确实在我的 webkit 视图上发布并在每次加载新网站时创建了一个新实例,这是否意味着我的使用量会下降到原来的状态,还是我误解了发布的工作原理?

【问题讨论】:

【参考方案1】:

理论上,是的,使用应该下降到它的原始状态,因为释放会将对象从堆中释放出来。

当您加载更多网站时,内存使用率越来越高的原因是,WebKit 保留了网站的部分内容,以便下次加载更快。

【讨论】:

以上是关于更好地理解内存释放的主要内容,如果未能解决你的问题,请参考以下文章

在 C 中退出程序时释放所需的分配内存

解析PHP中的内存管理,PHP动态分配和释放内存

智能指针--转

js的内存释放初步理解

智能指针

进程终止会自动释放所有使用的内存吗?有啥理由明确地这样做吗?