記憶體優化autoreleasepool的使用

2021-07-26 21:23:57 字數 570 閱讀 8282

在arc記憶體管理模式下,使用 autoreleasepool 主要

來避免頻繁申請

/釋放記憶體,從頁達到優化記憶體的效果。

根據),使用場景如下: 1、

寫基於命令列的的程式時,就是沒有

ui框架,如

等cocoa

框架時; 2、

寫迴圈,迴圈裡面包含了大量臨時建立的物件; 3、

建立了新的執行緒(非

cocoa

程式建立執行緒時才需要); 4、

長時間在後台執行的任務。

效果圖:

**示例:

- (void)withautoreleasepoolclick

}nslog(@"%@", text);

}

- (void)withoutautoreleasepoolclick

nslog(@"%@", text);

}

autoRelease記憶體管理方式

autorelease實際是把release的呼叫延遲了,對於每乙個autorelease,系統只是把該object放入了當 前的autorelease pool中,當該pool被釋放時,該pool中的所有object會被呼叫release。autorelease pool釋放條件 1,手動,2,引...

autorelease銷毀時間

autorelease 何時銷毀呢?網上的回答是 每個run loop中都建立乙個autorelease pool,並在runloop的末尾進行釋放。對於每乙個autorelease,系統只是把該object放入了當前 runloop 的autorelease pool中,當該pool被釋放時,該p...

autorelease基本使用

autorelease是一種支援引用計數的記憶體管理方式,只要給物件傳送一條autorelease訊息,會將物件放到乙個自動釋放池中,當自動釋放池被銷毀時,會對池子裡面的所有物件做一次release操作 注意,這裡只是傳送release訊息,如果當時的引用計數 reference counted 依...