ios中的記憶體管理機制

2021-06-23 00:39:14 字數 408 閱讀 4415

ios記憶體管理的精髓就是引用計數,那麼為什麼要使用引用計數呢?其實oc語言中,操作的都是指標物件,沒有物件變數的概念(c++中既有物件,也有指標,比如class a,a a或者a* pa),這樣的話,指標的管理就是一大問題(分配、釋放)。在c++中,對記憶體的管理,除了程式設計師自身的經驗外,另外也有一些管理的機制,比如智慧型指標,它就是使用引用計數機制(解決記憶體洩露和重複釋放這兩大問題),所以ios也是採用引用計數機制,不管是arc還是非arc。

ios記憶體管理的一些注意事項:

這些規則跟c++還是有相似之處的,alloc/init的物件,就像new的c++物件,出了作用域還是存在的,除非手動delete(autorelease),其他地方使用後,則要記得delete;非init/copy的物件,就相當於區域性變數,出了作用域,則會自動釋放。

參考:

iOS 記憶體管理機制

學習要點 1.reference counting 引用計數機制 2.了解mrc apc和gc 3.autoreleasepool 執行機制 4.如何避免 retain cycle reference counting 引用計數機制 cocoa 上基本的記憶體管理機制就是引用計數,通過乙個 refe...

iOS 記憶體管理機制

alloc 與 init 理解 myclass myobj myclass alloc init myclass myobj myclass alloc myobj myobj init alloc 分配了記憶體給物件,讓他不釋放,並且把位址返回給指標。但是這塊記憶體不能使用,因為沒有被正確的 初始...

iOS記憶體管理機制

todo cf和oc之間的轉換 core foundation框架和cocoa foundation框架區別 core foundation框架和foundation框架緊密相關,它們為相同功能提供介面,但foundation框架提供objective c介面。如果您將foundation物件和co...