iPhone 開發中記憶體管理注意事項 TOP 8

2021-05-25 05:05:16 字數 544 閱讀 7409

記憶體管理可以說是 iphone 開發中最重要也最令人頭疼的關鍵點。cocoachina 版主「lvyile」總結了記憶體管理中最應注意的事項,分別是:

通過分配或複製建立的物件保持計數為 1;

假設任何別的方法獲取的物件保持計數為1, 而且在自動釋放池中,要想在當前執行範圍外使用該物件,就必須保持它;

向集合新增物件時它就被保持,從集合移走物件時就被釋放。釋放集合物件(如 nsarray )會釋放該集合當中所有的物件;

確保有多少個 alloc, copy, mutablecopy 或 retain 訊息就有多少 release 或 autorelease 訊息傳送給該物件。換句話說,確保您**的平衡;

在訪問方法設定屬性時先保持,再釋放;

在程式中用 @"..." 結構建立的 nsstring 物件是有效常量,向它們傳送 retain 或者 release 訊息沒有用;

使用便利構造方法建立的物件(如 nsstring 的 stringwithformat )可以被認為會自動釋放;

在使用你自己的引數例項時,需要實現 -dealloc 方法來釋放。

iPhone開發記憶體管理

開發iphone 應用程式並不難,基本上就是三個詞 memory,memory,memory iphone os 對記憶體的要求很嚴格,有memory leak 殺掉 記憶體使用超限額,殺掉。乙個經過測試的程式,在使用過程中90 以上的崩潰都是記憶體問題造成的。在這裡簡單總結一下object c 記...

iphone開發中的記憶體分配

1 記憶體分配 釋放成對出現 2 注意copy,retain,assign操作符的區別 copy,retain同alloc一樣需要release,assign指的是將物件指向另乙個物件 3 nsarray,nsdictionary,nsmutablearray,nsmutabledictionary...

iphone記憶體管理 二

2 盡量避免使用autorelease 雖然autorelease非常簡單有用,但是在iphone上一定要謹慎使用,畢竟iphone記憶體相當有限.autorelease可能會導致直接的隱型記憶體洩露.比如使用 nsstring string nsstring stringwithformat va...