我在App Store上有一个监控系统状态的应用程序。我的用户需要一个Free Memory按钮来清理RAM。我知道iOS将内存管理为OS X,所以非活动内存实际上是免费内存,对吧?只是非活动内存有助于快速运行一些最近的应用程序。在iOS中如何清理内存?我看到很多应用程序都这样做,但是怎么做?
答案 0 :(得分:1)
它的一般工作方式是分配大块内存,迫使其他应用程序放弃其非必要内存并强制关闭其他应用程序。在获得自己的记忆警告之前,他们在内部获得尽可能多的内存,然后他们释放所有内容。
答案 1 :(得分:-1)
您可以按照用户回答说明并使用malloc
和memset
在循环中分配内存,直到获得didReceiveMemoryWarning
。
This project说明了如何做到这一点。顺便说一句,它是一个非常方便的应用程序。
有一个警告,根据我的经验,即使所有其他应用都处于非活动状态,iOS也不会将所有理论上可能的内存提供给应用。 This SO answer使用我在许多设备中提到的项目,它证明了iOS将为您提供一定数量的内存,而不管设备中运行的是什么。