Android apk 插件啟動內(nèi)存釋放問題
Android apk 插件啟動內(nèi)存釋放問題
插件中啟動apk,一般情況下在apk中內(nèi)存不存在問題,但在插件中可能會存在并放大這個(gè)問題,原因是在插件中重新loadclass后,原來插件的資源會重新加載,而在安裝的apk中除非被系統(tǒng)殺掉,不然可以重新利用原來沒關(guān)掉的資源;在插件中具體表現(xiàn)如下:
1.static定義的變量,假如是存放外部傳進(jìn)來的實(shí)例,記得在推出時(shí)必須置空,不然導(dǎo)致傳入的實(shí)例無法釋放;內(nèi)部new出來的保存在靜態(tài)變量中也一樣;
2.單例中new出來的實(shí)例存放到List等容器中,在退出時(shí)記得clear()下清空容器,不然內(nèi)存還會泄露:
比如類中定義
private List<ClientTaskBase> tasks = new ArrayList<ClientTaskBase>();
然后在方法中使用
ClientTaskBase task_= (ClientTaskBase) Class.forName(value).newInstance(); tasks.add(task_);
在退出時(shí),必須的清空
另外可用類的finalize方法來檢測下類是否已被釋放,該方法是在垃圾回收時(shí)釋放內(nèi)存會調(diào)用
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android開發(fā)之permission動態(tài)權(quán)限獲取詳解
這篇文章主要為大家詳細(xì)介紹了Android開發(fā)之permission動態(tài)權(quán)限獲取,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android實(shí)現(xiàn)仿微信tab高亮icon粘著手的滑動效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)仿微信tab高亮icon粘著手的滑動效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08將cantk runtime嵌入到現(xiàn)有的APP中的方法
今天小編就為大家分享一篇關(guān)于將cantk runtime嵌入到現(xiàn)有的APP中的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12android獲取當(dāng)前運(yùn)行Activity名字的方法
這篇文章主要介紹了android獲取當(dāng)前運(yùn)行Activity名字的方法,對比分析了兩種實(shí)現(xiàn)方法供大家選擇,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01淺談Service Manager成為Android進(jìn)程間通信(IPC)機(jī)制Binder守護(hù)進(jìn)程之路
本文主要介紹 淺談Service Manager成為Android進(jìn)程間通信(IPC)機(jī)制Binder守護(hù)進(jìn)程之路,這里詳細(xì)介紹了相關(guān)Binder的資料,幫助大家理解學(xué)習(xí)Android 源碼Binder通信機(jī)制,有興趣的小伙伴可以參考下2016-08-08