ios-記憶體管理小結

來源:互聯網
上載者:User

標籤:os   問題   cti   演算法   代碼   管理   

一、記憶體回收機制(GC garbage collection):

  1、由一個系統級的線程自動檢查釋放無用對象佔用的記憶體。

  2、記憶體回收機制有多重不同的演算法來實現記憶體回收機制。但是整體的思路是:發現無用對象->回收無用對象佔用的空間。

  3、記憶體回收機制的優缺點:

      優點:自動釋放記憶體,簡化編程,提高編程效率。防止了記憶體流失,保證安全。

            缺點:jvm必須追蹤程式中有用的對象,釋放無用對象,這個過程要花費處理器時間,開銷影響程式的效能。採用的演算法的優劣也對記憶體回收的效率有很大的影響。

二、arc(Automatic Reference Counting 自動引用計數)

  1、簡單地說,就是代碼中自動加入了retain/release,原先需要手動添加的用來處理記憶體管理的引用計數的代碼可以自動地由編譯器完成了。

  2、ARC並不是GC,它只是一種代碼靜態分析(Static Analyzer)工具。

三、 mrc(Manual Reference Counting 手動引用計數)

  1、當 retainCount為零時,會自動的調用對象的dealloc方法進行記憶體的釋放回收,我們永遠都不應該手動調用對象的dealloc方法。

四、初始化問題

  1、new和alloc/init在功能上幾乎是一致的,分配記憶體並完成初始化。差別在於,採用new的方式只能採用預設的init方法完成初始化,採用alloc的方式可以用其他定製的初始化方法。

  2、alloc時對象進行記憶體大小的配置,記憶體具體的大小由該對象的屬性、執行個體變數、方法的記憶體位址的綜合。alloc時只是簡單的進行了變數和方法的地址記憶體的配置,屬性和變數的具體大小是在init時進行動態非配的。

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.