當前位置:
首頁 > 知識 > IOS內存管理

IOS內存管理

簡介

iOS下內存管理的基本思想就是引用計數,通過對象的引用計數來對內存對象的生命周期進行控制。具體到編程時間方面,主要有兩種方式:

1:MRR(manual retain-release),人工引用計數,對象的生成、銷毀、引用計數的變化都是由開發人員來完成。

2:ARC(Automatic Reference Counting),自動引用計數,只負責對象的生成,其他過程開發人員不再需要關心其銷毀,使用方式類似於垃圾回收,但其實質還是引用計數。

面臨的問題

根據蘋果說明文檔,面臨的兩個主要問題是:

釋放或覆蓋的數據仍然在使用。這將造成內存損壞,通常在應用程序崩潰,或者更糟,損壞用戶數據。

不釋放不再使用的數據會導致內存泄漏。分配的內存,內存泄漏不會釋放,即使它從來沒有再次使用。泄漏會導致應用程序的內存使用量日益增加,這反過來又可能會導致系統性能較差或死機。

內存管理規則

我們創建自己的對象,當他們不再需要的時候,釋放他們。

保留需要使用的對象。如果沒有必要必須釋放這些對象。

不要釋放我們沒有擁有的對象。

使用內存管理工具

可以用Xcode工具儀器的幫助下分析內存的使用情況。它包括的工具有活動監視器,分配,泄漏,殭屍等

分析內存分配的步驟

1. 打開一個現有的應用程序。

2. 選擇產品,配置文件如下所示

IOS內存管理

3.在以下界面中選擇 Allocations 和 Profile。

IOS內存管理

4. 我們可以看到不同對象的內存使用情況

5. 你可以切換視圖控制器查看內存是否釋放。

IOS內存管理

6.同樣我們可以使用 Activity Monitor 來查看內存在應用程序中的分配的情況。

IOS內存管理

7. 這些工具可以幫助我們了解內存的使用情況及在什麼地方可能發生泄漏。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

IOS自動布局
IOS文件處理
IOS地圖開發

TAG:程序員小新人學習 |