Android基礎知識點(系列版)

0.2. android內(nèi)存泄漏逃沿,舉個例子

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

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

1. Activity與Fragment的生命周期

理解Fragment生命周期

和activity類似(本本上有)

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

Activity四種啟動模式

  • standard
    • 默認創(chuàng)建一個新的實例付呕。
  • singleTop
    • 可以有多個實例,但是不允許多個相同Activity疊加
  • singleTask
    • 只有一個實例跌捆,若Activity不存在徽职,則會在當前task創(chuàng)建一個新的實例,若存在佩厚,則會把task中在其之上的其它Activity destory掉并調(diào)用它的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()回調(diào)方法保存臨時數(shù)據(jù)和狀態(tài),這個方法一定要在活動被回收之前調(diào)用嗜逻。

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

  • listview優(yōu)化
    • 優(yōu)化getView()方法栈顷,不要在其中寫過多的邏輯代碼
    • 使用ViewHolder逆日,減少了很多不必要的view創(chuàng)建。
    • 滑動的時候不加載圖片
    • 將ListView的scrollingCache和animateCache設置為false萄凤。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末室抽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子靡努,更是在濱河造成了極大的恐慌坪圾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惑朦,死亡現(xiàn)場離奇詭異兽泄,居然都是意外死亡,警方通過查閱死者的電腦和手機漾月,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門病梢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梁肿,你說我怎么就攤上這事蜓陌。” “怎么了栈雳?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵护奈,是天一觀的道長缔莲。 經(jīng)常有香客問我哥纫,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任蛀骇,我火速辦了婚禮厌秒,結果婚禮上,老公的妹妹穿的比我還像新娘擅憔。我一直安慰自己鸵闪,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布暑诸。 她就那樣靜靜地躺著蚌讼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪个榕。 梳的紋絲不亂的頭發(fā)上篡石,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音西采,去河邊找鬼凰萨。 笑死,一個胖子當著我的面吹牛械馆,可吹牛的內(nèi)容都是我干的胖眷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼霹崎,長吁一口氣:“原來是場噩夢啊……” “哼珊搀!你這毒婦竟也來了?” 一聲冷哼從身側響起尾菇,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤食棕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后错沽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體簿晓,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年千埃,在試婚紗的時候發(fā)現(xiàn)自己被綠了憔儿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡放可,死狀恐怖谒臼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情耀里,我是刑警寧澤蜈缤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站冯挎,受9級特大地震影響底哥,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一趾徽、第九天 我趴在偏房一處隱蔽的房頂上張望续滋。 院中可真熱鬧,春花似錦孵奶、人聲如沸疲酌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗恳。三九已至,卻和暖如春载绿,著一層夾襖步出監(jiān)牢的瞬間僻肖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工卢鹦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留臀脏,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓冀自,卻偏偏與公主長得像揉稚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子熬粗,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

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

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