Android基礎知識點(系列版)

0.2. android內存泄漏,舉個例子

Android 內存泄漏總結(超級實用)

  • 意思:該被釋放的對象沒有釋放,一直被某個或某些實例所持有卻不再被使用導致 GC 不能回收。
  • 內存泄漏對象的兩個特點
    • 這些對象是可達的,即在有向圖中,存在通路可以與其相連
    • 這些對象是無用的,即程序以后不會再使用這些對象。
  • 常見內存泄漏匯總
    • 單例造成的內存泄漏
      • 解決辦法:getApplicationContext()
    • 非靜態(tài)內部類創(chuàng)建靜態(tài)實例造成的內存泄漏
      • 解決辦法:將該內部類設為靜態(tài)內部類或將該內部類抽取出來封裝成一個單例
    • handler造成的內存泄漏
      • handler生命周期和handler不一致,因此這種實現(xiàn)方式一般很難保證跟 View 或者 Activity 的生命周期保持一致,故很容易導致無法正確釋放。
      • 創(chuàng)建一個靜態(tài)Handler內部類,然后對Handler持有的對象使用弱引用,這樣在回收時也可以回收Handler持有的對象

1. Activity與Fragment的生命周期

理解Fragment生命周期

和activity類似(本本上有)

2. 四種Activity啟動方式與特點

Activity四種啟動模式

  • standard
    • 默認創(chuàng)建一個新的實例。
  • singleTop
    • 可以有多個實例,但是不允許多個相同Activity疊加
  • singleTask
    • 只有一個實例,若Activity不存在,則會在當前task創(chuàng)建一個新的實例,若存在,則會把task中在其之上的其它Activity destory掉并調用它的onNewIntent方法。。
  • singleInstance
    • 并且這個實例獨立運行在一個task中,這個task只有這個實例,不允許有別的Activity存在。

3. Activity緩存方法。

  • 有a、b兩個Activity,當從a進入b之后一段時間,可能系統(tǒng)會把a回收,這時候按back,執(zhí)行的不是a的onRestart而是onCreate方法,a被重新創(chuàng)建一次,這時a中的臨時數(shù)據(jù)和狀態(tài)可能就丟失了。
  • 可以用Activity中的onSaveInstanceState()回調方法保存臨時數(shù)據(jù)和狀態(tài),這個方法一定要在活動被回收之前調用。

21. Android內存優(yōu)化方法:ListView優(yōu)化,及時關閉資源,圖片緩存等等

  • listview優(yōu)化
    • 優(yōu)化getView()方法,不要在其中寫過多的邏輯代碼
    • 使用ViewHolder,減少了很多不必要的view創(chuàng)建。
    • 滑動的時候不加載圖片
    • 將ListView的scrollingCache和animateCache設置為false。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,045評論 25 709
  • 1.什么是Activity?問的不太多,說點有深度的 四大組件之一,一般的,一個用戶交互界面對應一個activit...
    JoonyLee閱讀 5,858評論 2 51
  • 【I】George Polya提出了解決問題的四個步驟模型:明確問題→制定解決方案→實施方案→檢驗結果。 每一步驟...
    大大志閱讀 337評論 0 2
  • 我身體里住著幾個怪人 我知道這件事很久了 但是只有我自己知道 我沒跟任何人說過這件事 因為我一直覺得住著這么多怪人...
    Emma_Morley閱讀 331評論 2 0
  • 你雙手托腮 眉緊蹙 朱唇輕輕起 又失眠了 不知怎么 一下子羨慕 你數(shù)羊的樣子 我 有多久不知 夜不寐為何物 情緒 ...
    舒漓閱讀 180評論 1 7

友情鏈接更多精彩內容