03 Object C記憶體管理

2021-09-29 08:33:32 字數 1047 閱讀 6438

##1、基本原理 ###1.1、 什麼是記憶體管理

管理範圍:任何繼承了nsobject的物件,對其他基本資料型別(int、char、float、double、struct、enum等)無效

###1.2、引用計數器

概念計步器的作用

計步器操作

###1.3 、物件的銷毀

##2、記憶體管理原則 ###2.1、原則分析

###2.2、誰建立,誰release

book *_book
set方法的實現

- (void)setbook:(book *)book

}

dealloc方法的實現

- (void)dealloc
##4、@property引數

控制set方法的記憶體管理

控制需不需生成set方法

多執行緒管理

控制set方法和get方法的名稱

##5、迴圈引用

@class

迴圈retain

解決方案

##6、autorelease

autorelease自動釋放池的建立

// ios 5.0後。

@autoreleasepool

// ios 5.0前

nsautoreleasepool *pool = [[nsautoreleasepool alloc] init];

// .....

[pool release]; // 或[pool drain];

##7、規律

nsnumber *n = [nsnumber numberwithint:100];

nsstring *s = [nsstring stringwithformat:@"jack"];

nsstring *s2 = @"rose";

Object c記憶體管理

記憶體管理 物件的生命週期包括以下幾個時期 物件初始化 物件接收訊息和執行操作 物件被釋放 判斷乙個物件是否結束,用到引用計數器 引用計數器的基本概念 1 每個人物件有乙個整數值,這個整數值與物件本身關聯,稱為引用計數器 2 當某些地方需要使用這個物件時,可以將引用計數器加1,表示使用這個這個物件 ...

Object C 記憶體管理

object c 記憶體管理 一 基本概念 1.iphone系統中的objective c的記憶體管理機制是比較靈活的,即可以拿來像c c 一樣用,也可以加個autoreleasepool讓它公升級為半自動化的記憶體管理語言 2.引用計數是例項物件的記憶體 唯一參考 引用計數 retaincount...

Object C程式設計記憶體管理

記憶體管理的範圍 任何繼承了 nsobject 的物件,對其他基本資料型別 int char float double struct enum 等 無效 物件的基本結構 1.每個 oc物件都有自己的引用計數器,是乙個整數,表示 物件被引用的次數 即有多少人正在使用這個 oc物件 2.每個 oc物件內...