OC基礎 手動記憶體管理

2021-07-23 04:53:13 字數 1206 閱讀 2690

/*

建立物件 1.

分配記憶體空間,儲存物件 2.

初始化成員變數 3.

反回物件的指標位址

//1.

物件在完成建立的同時,內部會自動建立乙個引用計數器,這個計數器,是系統用來判斷是否**物件的唯一依據,當我們的引用計數

retaincount=0

的時候,系統會毫不猶豫**當前物件

//2.[

物件release]  reatincount - 1

//3.[

物件retain]   reatincount + 1

,返回self

//4.

我們的引用計數

retaincount=0

的物件就被銷毀了

函式,當乙個物件要被銷毀的時候,系統會自動呼叫

dealloc

函式,通知物件你將要被銷毀

//記憶體管理原則

(配對原則

):只要出現了

new,alloc,retain,

就一定配對出現乙個

release,autorelease

//在物件自身被銷毀之前,一定要先呼叫

[super dealloc]

釋放父類中的相關物件 */

#import

#import

"person.h"

intmain(

intargc,

const

char

* argv)

單個物件記憶體管理分析

//記憶體管理原則

(配對原則

):只要出現了

new,alloc,retain,

就一定配對出現乙個

release,autorelease //

手動記憶體管理研究問題方法

//1.

野指標操作

//2.

記憶體洩漏

#import

#import

"person.h"

void

test()

void

test2()

void

test3()

void

test4()

void

test5(

person

* p)

intmain()

OC 手動記憶體管理

一.為什麼要進行記憶體管理 建立乙個oc物件 定義乙個變數 呼叫乙個函式或者方法 二.oc中的記憶體管理是管理的記憶體中的哪一部分 我們知道 記憶體分為五大區域 棧區,堆區,資料去,bss段,區。而最後三者是在程式啟動時由作業系統進行控制的,所以不需要我們管理。棧區儲存的也都是已經初始化的基本資料型...

OC語法 2 2 記憶體管理 手動記憶體管理2

五 copy語法 這篇建議學過foundation框架之後再學習 本小節知識點 基本用法 1 乙個物件可以使用 copy 或者mutablecopy 方法來建立物件的副本,當我們操作副本的時候不影響原物件 2 copy 需要先實現 nscopying 協議,建立的是不可變副本 如 nsstring,...

OC 記憶體管理基礎

oc記憶體管理基礎 本文 一.retain和release基本使用 使用注意 1.你想使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次retain操作 2.你不想再使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次release 3.誰retain 誰release 4.誰al...