2013-08-31 41 views
1

我在App Store上有一個應用程序,用於監視系統狀態。我的用戶需要一個可用內存按鈕來清潔內存。我知道iOS將內存當作OS X來管理,所以非活動內存實際上是空閒內存,對吧?簡單的不活動內存有助於快速運行一些最近的應用程序在iOS中,我該如何清理內存?我看到很多應用都這樣做,但是如何?iOS - 「清潔內存」或「空閒內存」:如何操作

+0

我不認爲這在iOS上是可行的。 –

回答

1

它工作的一般方式是分配大塊內存,迫使其他應用程序放棄其非必要內存並強制關閉其他應用程序。在獲得自己的記憶警告之前,他們在內部獲得儘可能多的記憶,然後釋放所有內容。

+0

好方法。但是,我怎樣才能用代碼做到這一點?實際上,使用ARC,我該怎麼辦? –

+0

SO不是一個「給我代碼」的網站,而是一個網站,可以詢問有關問題的具體問題,或獲得有關您已編寫的代碼的特定方面的幫助。我建議閱讀malloc和免費 – coneybeare

+0

@Andrea Mario Lufino你找到了一個方法嗎? –

0

您可以按照用戶回答的說法使用mallocmemset循環分配內存,直到得到didReceiveMemoryWarning。這將獲得記憶,直到你的應用即將被iOS殺死,所以應該足夠了。

This project說明了如何去做。順便說一下,這是一個非常方便的應用程序。

有一個警告,根據我的經驗,iOS不允許將所有理論上可能的內存給予應用程序,即使所有其他應用程序都處於非活動狀態。 This SO answer使用了我在很多設備中提到的項目,它證明了iOS會爲您提供高達一定的內存,並且無論如何,無論設備中運行什麼。