記憶體管理可以說是 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...