About the Activity memory leak

在我們?nèi)粘i_發(fā)當(dāng)中一不小心就會(huì)寫上一丟丟內(nèi)存泄露的代碼。
例如下面這一段單例模式:

public Myactivity extends Activity{
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {    
              setContentView(R.layout.activity_main);    
              super.onCreate(savedInstanceState);
              Singleton. getInstance(getContext())
    }
}

public Singleton{
    private  static Singleton INSTATIC  = new Singleton();
    
    public static Singleton getInstance(Context context) {  
        if (INSTATIC == null) {  
            INSTATIC = new Singleton(context);  
          }  
            return instance;  
     }  
}

以上的代碼中當(dāng)Activity 生命周期結(jié)束時(shí),Singleton類里面卻還存在Activity的引用 這樣Activity占用的內(nèi)存就一直不能回收,于是就內(nèi)存泄露啦。
當(dāng)然啦內(nèi)存泄露的例子還是很多的這里就不一一列舉。

想要避免Activity相關(guān)的內(nèi)存泄露,記住以下幾點(diǎn):

  1. 不要讓生命周期長(zhǎng)的對(duì)象引用Activity.getContext,即保證引用Activity的對(duì)象要與Activity本身生命周期是一樣的
  2. 對(duì)于生命周期長(zhǎng)的對(duì)象,可以使用getApplicationContext()
  3. 避免非靜態(tài)的內(nèi)部類,盡量使用靜態(tài)類,避免生命周期問題,注意內(nèi)部類對(duì)外部對(duì)象引用導(dǎo)致的生命周期變化。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)存管理的目的就是讓我們?cè)陂_發(fā)中怎么有效的避免我們的應(yīng)用出現(xiàn)內(nèi)存泄漏的問題。內(nèi)存泄漏大家都不陌生了,簡(jiǎn)單粗俗的講,...
    宇宙只有巴掌大閱讀 2,481評(píng)論 0 12
  • Android 內(nèi)存泄漏總結(jié) 內(nèi)存管理的目的就是讓我們?cè)陂_發(fā)中怎么有效的避免我們的應(yīng)用出現(xiàn)內(nèi)存泄漏的問題。內(nèi)存泄漏...
    _痞子閱讀 1,695評(píng)論 0 8
  • Android 內(nèi)存泄漏總結(jié) 內(nèi)存管理的目的就是讓我們?cè)陂_發(fā)中怎么有效的避免我們的應(yīng)用出現(xiàn)內(nèi)存泄漏的問題。內(nèi)存泄漏...
    apkcore閱讀 1,303評(píng)論 2 7
  • 內(nèi)存管理的目的就是讓我們?cè)陂_發(fā)中怎么有效的避免我們的應(yīng)用出現(xiàn)內(nèi)存泄漏的問題。內(nèi)存泄漏大家都不陌生了,簡(jiǎn)單粗俗的講,...
    DreamFish閱讀 863評(píng)論 0 5
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,741評(píng)論 25 709

友情鏈接更多精彩內(nèi)容