編寫高質量代碼-OC 第3章 內存管理

1七、理解內存和Objective-C內存管理規則對象

  • 一、內存可看做是內存控制器與CPU之間的橋樑
  • 二、Objective-C內存管理模式基於對象的「全部權」上
  • 三、對象全部權策略是基於引用計數實現的,每個對象有一個retaincount變量。

1八、內存管理講究「好借好還,再借不難」內存

  • 一、在Objective-C中,釋放對象應優先使用release而非autorelease,但在不適合當即回收對象的狀況下,應優先使用release。
  • 二、當返回一個新建立的(擁有的)對象時,應該使用autorealease而不是release來釋放全部權。
  • 三、對於擁有alloc返回的對象而言,失去釋放全部權以前,應先失去對該對象的引用。

1九、區別開alloc、init、retain、release和dealloc之間的差別it

  • 一、alloc是建立變量,dealloc是釋放變量,retain是計數加1,release是計數減一
  • 二、分配過程(alloc和init---)不只進行對象的內存分配,還要對他的isa實力變量和保持數初始化
  • 三、對象賦值時儘可能採用autorelease而不是retain模式

20、優先選用存取方式來簡化內存管理
2一、對象銷燬或者被移除必定考慮全部權的釋放
2二、明智而審慎地使用dealloc

內存管理

相關文章
相關標籤/搜索