簡體   English   中英

iPhone - 釋放 memory

[英]IPhone - free up memory

是否有一種程序化的方式來釋放 iPhone 的 memory 與重新啟動 iPhone 一樣有效?

非常感謝。

No. iOS 基於 Mac OS X,並使用過度使用的 VM。 它將根據需要發布 memory。 釋放你自己的東西 malloc,釋放你控制的對象的所有權,實施didReceiveMemoryWarning來為你的數據集明智地行動,你應該沒問題。 如果在 iOS 殺死你之前沒有足夠的 memory ,后台應用程序將被殺死。

簡短的回答是否定的。 並同意上面的 jer。

There used to be an App which used to free memory in iPhone by allocating all free memory except 2MB on the device and then releasing it, causing the device to raise memory warning and free memory. 但是,您無法像重新啟動 iPhone 一樣釋放 memory。

如果您使用init, new or copy分配了 memory,您有 3 個選項。

A)您可以通過調用 release function 來明確並立即release memory。

B)您可以通過調用autorelease方法創建對象來告訴 iOS“隨時”釋放它。

C)您可以創建自己的自動釋放池來控制釋放自動釋放的對象,如下所示:

NSAutoreleasePool *rPool = [[NSAutoreleasePool alloc] init];
        MyObject *obj = [[[MyObject alloc] init] autorelease];
[rPool drain];

希望能回答您關於 memory 發布的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM