Android內(nèi)存優(yōu)化——內(nèi)存抖動原理解析以及解決方案

產(chǎn)生內(nèi)存泄漏的原因

一個長生命周期的對象持有一個短生命周期對象的引用通俗講就是該回收的對象,因為引用問題沒有被回收,最終會產(chǎn)生OOM。

產(chǎn)生內(nèi)存抖動的原因

內(nèi)存頻繁的分配與回收,(分配速度大于回收速度時)最終會產(chǎn)生OOM

內(nèi)存回收的相關(guān)算法
1.   標(biāo)記清除算法Mark-Sweep(節(jié)省內(nèi)存)
     缺點:
        效率問題,標(biāo)記和清除兩個過程效率都不高
        回收后會產(chǎn)生大量不連續(xù)的空間,造成空間碎片太多.
2.   復(fù)制算法Copying(效率高)
      缺點: 直接將堆劃分兩半,有點簡單粗暴,對內(nèi)存會造成浪費.
3.   標(biāo)記壓縮算法Mark-Compact
4.   分代收集算法

視頻解析:Android內(nèi)存優(yōu)化——內(nèi)存抖動原理解析以及解決方案_嗶哩嗶哩_bilibili

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容