Android垃圾回收機制


一. 垃圾回收機制

1. 新生代(Young Generation):

1)   大多數新建的對象都位於Eden區

2) 當Eden區被對象填滿時,就會執行minor GC,並把所有存活下來對象轉移到其中一個survivor區

3) survivor space:s0, s1 兩個區域,存放每次垃圾回收后存活的對象

4) minor GC同樣會檢查survivor 區,這樣一段時間內,總會有一個空的servivor區

2.老生代(Old Generation)

1)  存放長期存活的對象和經過多次minor GC后依然存活下來的對象

3. 永生代(Permanent Generation)

1) 存放方法區,存放應用程序類和方法,靜態變量,final類型的常量、屬性和方法信息

 

 

 

 

 

二. GC的觸發條件

GC分為minor GC 和 major GC 

minor GC從年輕代空間(包括 Eden 和 Survivor 區域)回收內存被稱為 Minor GC

major GC 是清理老年代永生代

1 minor GC觸發條件

1)當Eden區滿時,觸發minor GC

2 major GC 觸發條件:

1)老生代空間不足

2)永生代空間不足

3)通過minor GC后進入老生代的平均大小大於老生代可用內存

4) 由Eden區,from Space區向 to Space區復制時,對象大小大於to Space可用內存,則把該對象傳入老生代,且老生代的可用內存小於該對象大小

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM