就是該回收的內存因爲種種緣由沒有被回收,還駐留在內存中。this
可能一處小小的內存泄露就會致使整個應用卡頓,甚至崩潰。spa
Toast.makeText(MainActivity.this,"Hello",Toast.LENGTH_SHORT).show();
這段代碼可能會出現內存泄露。code
若是在Toast消失以前,Toast 持有了當前的 Activity,而此時,用戶點擊了返回鍵,致使 Activity 沒法被 GC(Garbage Collection垃圾回收) 回收,這個Activity 就引發了內存泄露。對象
全部和當前 Activity 無關的 Context 均可以傳入,避免內存泄露的方法一樣使用其餘須要傳入 Context 的地方。(這句話我表示理解不了)以下blog
Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
getApplicationContext()是整個應用的上下文,不會持有某個 Activity 對象。內存
dialog的上下文不能使用getApplicationContext(),程序會崩掉,dialog實例化必須持有 Activity對象。get