什麼是記憶體管理?其最主要作用?OC記憶體管理機制?

石山嶺發表於2018-01-17

什麼是記憶體管理?其最主要作用和目的?

我百度了一下.是這麼回答的-->

記憶體管理是 : 指軟體執行時對計算機記憶體資源的分配和使用的技術。 作用是 : 為了高效的,快速的分配,並且在適當的時候釋放和回收記憶體資源。

OC記憶體管理機制

說到OC的記憶體管理機制 不得不說引用計數

什麼是引用計數?以下是我檢視的比較合理的答案-->
引用計數是 : 最普遍的垃圾回收策略之一。每一個物件都會有一個額外的計數值來表示當前被引用的次數。有新的引用,這個值就會+1;結束引用,這個值會自動-1,直到計數值為0時,物件所指的記憶體塊就會廢棄掉被系統回收,從而達到釋放記憶體的目的。

OC的記憶體管理機制 我個人感覺有四個詞可以解釋,"生成","持有","釋放","廢除".

在"iOS與OS X多執行緒和記憶體管理"這本書上看到的對OC記憶體管理的方式,一共四條
1.自己生成的物件,自己所持有.
2.非自己生成的物件,自己也能持有.
3.不再需要自己持有的物件時釋放掉.
4.非自己持有的物件無法釋放.
大家經過自己一段時間的開發會發現.其實OC的記憶體管理方式就是這樣.

什麼是記憶體管理?其最主要作用?OC記憶體管理機制?

當然ARC中的記憶體管理都交給系統來做了 管理方式這篇文章寫的比較好 https://www.jianshu.com/p/48665652e4e4 可以做參考 之後小弟也會自己寫一篇關係ARC記憶體管理這一塊的文章出來,把自己的見解說出來.
該文章純屬自己看書期間有感而發,加上之前面試遇到過這幾個問題,並沒有能系統的說出這幾個問題的答案的原因才寫出來的,如果有小哥看到該篇文章,並發現哪裡有問題,可以隨時糾正,小弟在此謝過了!


相關文章