iOS - “清洁内存”或“可用内存”:如何操作

时间:2013-08-31 16:03:28

标签: ios memory memory-management

我在App Store上有一个监控系统状态的应用程序。我的用户需要一个Free Memory按钮来清理RAM。我知道iOS将内存管理为OS X,所以非活动内存实际上是免费内存,对吧?只是非活动内存有助于快速运行一些最近的应用程序。在iOS中如何清理内存?我看到很多应用程序都这样做,但是怎么做?

2 个答案:

答案 0 :(得分:1)

它的一般工作方式是分配大块内存,迫使其他应用程序放弃其非必要内存并强制关闭其他应用程序。在获得自己的记忆警告之前,他们在内部获得尽可能多的内存,然后他们释放所有内容。

答案 1 :(得分:-1)

您可以按照用户回答说明并使用mallocmemset在循环中分配内存,直到获得didReceiveMemoryWarning

,这样就可以获得内存,直到你的应用即将被iOS杀死为止。

This project说明了如何做到这一点。顺便说一句,它是一个非常方便的应用程序。

有一个警告,根据我的经验,即使所有其他应用都处于非活动状态,iOS也不会将所有理论上可能的内存提供给应用。 This SO answer使用我在许多设备中提到的项目,它证明了iOS将为您提供一定数量的内存,而不管设备中运行的是什么。