ios記憶體分配

2021-06-22 20:09:04 字數 407 閱讀 4231

記憶體分割槽:

1)、棧區

(stack)— 由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。

2)、堆區

(heap) — 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由os** 。(ios中alloc都是存放在堆中)

3)、全域性區

(靜態區)(static)—,全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。 - 程式結束後有系統釋放。注意:全域性區又可分為未初始化全域性區:.bss段和初始化全域性區:data段。

4)、常量區

—常量字串就是放在這裡的。 程式結束後由系統釋放

5)、**區

—存放函式體的二進位制**。

iOS記憶體分配

一 記憶體分割槽 棧區 stack 由編譯器自動分配並釋放,存放函式的引數值,區域性變數等。棧是系統資料結構,對應執行緒 程序是唯一的。優點是快速高效,缺點時有限制,資料不靈活。先進後出 棧空間分靜態分配 和動態分配兩種。靜態分配是編譯器完成的,比如自動變數 auto 的分配。動態分配由alloca...

IOS中記憶體的分配

記憶體分割槽 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os ios中alloc都是存放在堆中 3 全域性區 靜態區 static 全域性變數和靜態...

iOS開發 記憶體管理之記憶體分配

下面舉個例子說明下 nsstring string string nsstring alloc initwithstring hello ios 這裡string其實就是乙個指標,oc中除了基本資料型別之外的變數型別都是指標型別,oc物件都是通過指標進行操作的。第一段 定義了nsstring型別的指...