Ⅰ android 中 BitmapFactory 的內存怎樣回收
手敲原創,復制或轉載請註明。!
因為Android也是java,所以它的回收機制也是自動回收。
回收機制中,有 年輕代 和 老年代 的說法,年輕代就是尚在使用的內存對象或者在此之前不久都還在被使用的內存對象,老年代中就是所有已未使用或者被賦null的對象,所謂的自動回收,就是不斷的將不用的或為null的對象從年輕代中移至老年代中,並清除老年代中的所有對象。
所以--------->我們應當把我們不再用的對象主動的賦null,這樣就主動的交至老年代了,就被Android回收了。
Ⅱ android 如何更好的回收內存空間,有沒有強
Android內存優化大全
OOM:
內存泄露可以引發很多的問題:
1.程序卡頓,響應速度慢(內存佔用高時JVM虛擬機會頻繁觸發GC)
2.莫名消失(當你的程序所佔內存越大,它在後台的時候就越可能被幹掉。反之內存佔用越小,在後台存在的時間就越長)
3.直接崩潰(OutOfMemoryError)
ANDROID內存面臨的問題:
1.有限的堆內存,原始只有16M
2.內存大小消耗等根據設備,操作系統等級,屏幕尺寸的不同而不同
3.程序不能直接控制
4.支持後台多任務處理(multitasking)
5.運行在虛擬機之上
5R:
本文主要通過如下的5R方法來對ANDROID內存進行優化:
1.Reckon(計算)
首先需要知道你的app所消耗內存的情況,知己知彼才能百戰不殆
2.Rece(減少)
消耗更少的資源
3.Reuse(重用)
當第一次使用完以後,盡量給其他的使用
5.Recycle(回收)
返回資源給生產流
4.Review(檢查)
回顧檢查你的程序,看看設計或代碼有什麼不合理的地方。
詳細
Ⅲ Android系統回收activity行為
安卓本身不支持內存分頁交換技術,是通過回收activity的方式來回收內存的。.activity處於onPause或者onStop狀態時,假如系統資源不足(內存不足),會被系統回收釋放。
系統回收內存會存在兩種行為:
1.當APP不在前台的時候,資源緊張,強殺APP進程並回收activity,這種情況不會調用生命周期的onDestroy方法。可以用「開發者選項」中的「限制後台進程數」來模擬這種情況。
2.當APP在前台,系統資源不足的時候,會回收APP處於pause或stop狀態的Activity,這種情況不殺進程,但會調用onDestroy方法。可以用「開發者選項」中的「不保留活動」打開,來模擬這種情況。
因此,平時在onCreate方法里注冊監聽register,在onDestroy方法里反注冊unregister不會有問題。因為假如是情況1,進程被殺掉了,不執行onDestroy方法也沒事,進程都沒了,就無所謂內存泄露的事。假如是情況2,那麼會執行onDestroy方法反注冊。
歡迎留言討論,或指正問題。
Ⅳ android 中彈出的dialog怎麼回收內存
dismissDialog(int):當你准備關閉對話框時,你可以通過對這個對話框調用dismiss()來消除它。如果需要,你還可以從這個Activity中調用dismissDialog(int id) 方法,這實際上將為你對這個對話框調用dismiss() 方法。 如果你想使用onCreateDialog(int id) 方法來管理你對話框的狀態(就如同在前面的章節討論的那樣),然後每次你的對話框消除的時候,這個對話框對象的狀態將由該Activity保留。如果你決定不再需要這個對象或者清除該狀態是重要的,那麼你應該調用removeDialog(int id)。
Ⅳ 在Android中怎麼節省內存的使用,怎麼主動回收內存
這個沒有說自動的,最好的方法就是下載個手機衛士軟體,裡面基本都帶有所謂的手機加速,內存清掃功能
Ⅵ 安卓手機回收站在哪裡
目前三星上市的智能手機/平板電腦暫無回收站功能。早期上市的非智能機器C6112C自帶回收站,操作:設定-回收站-選項-停用/啟用回收站(回收站僅保存最新刪除的文件)。
Ⅶ 安卓手機如何回收
安卓手機不能使用的情況下也可以做回收處理。首先有些回收店,他會專門的回收舊手機。不過這種回收舊手機的價值都比較低,一般一個手機只能換一個臉盆。還有一種情況,就是可以在網上做二手處理。這種情況下你可以和對方談價格,價值量會高一些。
Ⅷ 有關android回收對象的問題
你的t1和t2class對象雖然定義在Oncreate()函數外面,但是卻是在函數裡面實例化的。當你的程序初始化Activity之後(即調用完Oncreate()函數之後)便會釋放大括弧裡面所有變數所佔用的內存空間,而finalize()相當如充當回收函數第一個被調用,不過回收過程並不是我們理解的一經調用立馬回收,而是系統等到回收的資源達到一定的數目時才統一回收。(以上僅屬個人理解建議用debug單步調試看看)
Ⅸ android view怎麼回收
切換Layout的話,你的Activity將長駐內存,也就是說你的應用中該Activity始終都是存在的,調用另外一個Activity的話,上一個Activity實例就會被銷毀和回收掉的.如果不想在程序中讓Activity數量過多,你可以考慮用Layout方式.