android釋放
安裝SQLite Expert Professional 可以在網上下載,我下載的是試用版,沒有找注冊碼,但是試用不影響使用,反正用幾次查看到資料庫操作沒有錯誤就不用這個工具了。當然也可以使用Eclipse插件DDMS來查看,也可以使用Android工具包中的adb工具來查看。android項目中的sqlite資料庫位於/data/data/項目包/databases中。先介紹使用DDMS導出sqlite資料庫的操作和使用adb工具訪問sqlite資料庫。
首先打開android項目的調試模式,然後找到顯示DDMS
切換到DDMS,顯示File Explorer窗口,找到/data/data/ 如下圖1 ,
然後找到程序包的文件夾,打開databases,就能看到sqlite資料庫文件了。選擇將其導出。如下圖2.
這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如SQLite Expert Professional可以打開該資料庫了。其他 sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager也可以打開該資料庫。
使用adb工具訪問sqlite資料庫
Android Debug Bridge(ADB)是Android的一個通用調試工具,它可以更新設備或模擬器中的代碼,可以管理預定埠,可以在設備上運行shell命令,我們 知道android是基於linux內核,它的內部文件結構也是採用linux文件組織方式,因此訪問它的文件結構需要使用shell。這次我們就會用 shell來訪問android應用中的sqlite資料庫文件。
1、運行cmd,切換到android-sdk目錄,運行adb.exe,加上參數shell,出現#號就代表進入了shell命令模式,注意adb要在Android模擬器運行時才能進入shell:如下圖
進入資料庫所在目錄:
shell命令記住兩個基本命令ls和cd,類似windows命令提示行中的dir和cd,代表列出當前目錄下文件列表和進入到指定目錄。了解這兩個命令之後,就可以找到data/data/項目包名/databases 如下圖1, 找到資料庫文件如下圖2。
使用sqlite管理工具來進行資料庫操作
鍵入sqlite3 資料庫名就進入了sqlite管理模式了。
如下圖
設置sqlite環境變數:
在android的sdk中自帶了sqlite3.exe,這是sqlite的官方管理工具,它是一個命令行工具。為了使用方便,將其路徑注冊到系 統環境變數path中,即將;%Android_Home%加在Path中,這樣只樣運行sqlite3,就能直接打開sqlite管理工具了。
如下圖:
使用sqlite管理資料庫:
sqlite命令行工具默認是以;結束語句的。所以如果只是一行語句,要在末尾加;,或者在下一行中鍵入;,這樣sqlite命令才會被執行。
sqlite常用命令:
.tables--查看資料庫的表列表
.exit--退出sqlite命令行
其他命令可隨時.help查看幫助。sql命令可直接在此命令行上執行即可:
如下圖:
2. android 廣播消息的內存怎麼釋放
提示:不用在意剩餘內存的大小。其實很多人都是把使用其他系統的習慣帶過來來了。android大多應用沒有退出的設計其實是有道理的,這和系統對進程的調度機制有關系。如果你知道java,就不用在意剩餘內存的大小。 其實很多人都是把使用其他系統的習慣帶過來來了。android大多應用沒有退出的設計其實是有道理的,這和系統對進程的調度機制有關系。如果你知道java,就能更清楚這機制了。其實和java的垃圾回收機制類似,系統有一個規則來回收內存。進行內存調度有個閥值,只有低於這個值系統才會按一個列表來關閉用戶不需要的東西。當然這個值默認設置得很小,所以你會看到內存老在很少的數值徘徊。但事實上他並不影響速度。相反加快了下次啟動應用的速度。這本來就是android標榜的優勢之一,如果人為去關閉進程,沒有太大必要。特別是自動關進程的軟體。 到這里有人會說了,那為什麼內存少的時候運行大型程序會慢呢?其實很簡單,在內存剩餘不多時打開大型程序,會觸發系統自身的調進程調度策略,這是十分消耗系統資源的操作,特別是在一個程序頻繁向系統申請內存的時候。這種情況下系統並不會關閉所有打開的進程,而是選擇性關閉,頻繁的調度自然會拖慢系統。所以,論壇上有個更改內存閥值的程序可以有一定改善。 但改動也可能帶來一些問題,取決於值的設定。 那麼,進程管理軟體有無必要呢?有的。就是在運行大型程序之前,你可以手動關閉一些進程釋放內存,可以顯著的提高運行速度。但一些小程序,完全可交由系統自己管理。談到這里,可能有的朋友會問,如果不關程序是不是會更耗電。我就說說 android後台的原理,你就明白了。android的應用在被切換到後台時,它其實已經被暫停了,並不會消耗cpu資源,只保留了運行狀態。所以為什麼有的程序切出去重進會到主界面。但是,一個程序如果想要在後台處理些東西,如音樂播放,它就會開啟一個服務。服務可在後台持續運行,所以在後台耗電的也只有帶服務的應用了。這個在進程管理軟體里能看到,標簽是service。至於廣播什麼的我就不涉及了。所以沒有帶服務的應用在後台是完全不耗電的,沒有必要關閉。這種設計本來就是一個非常好的設計,下次啟動程序時,會更快。 因為不需要讀取界面資源,何必要關掉他們抹殺這個android的優點呢? 還有一個。為什麼android一個應用看起來那麼耗內存。大家知道,android上的應用是java,當然需要虛擬機,而android上的應用是帶有獨立虛擬機的,也就是每開一個應用就會打開一個獨立的虛擬機。這樣設計的原因是可以避免虛擬機崩潰導致整個系統崩潰,但代價就是需要更多內存。 以上這些設計確保了android的穩定性,正常情況下最多單個程序崩潰,但整個系統不會崩潰,也永遠沒有內存不足的提示出現。大家可能是被windows毒害得太深了,總想保留更多的內存,但實際上這並不一定會提升速度,相反卻喪失了程序啟動快的這一系統特色,很沒必要。大家不妨按我說的習慣來用用這個系統。最後推薦一款進程管理軟體,systempanel,market上能搜到,界面友好啟動快,功能也不錯,用於手動關閉進程很好的軟體。 祝大家玩機愉快,這系統開十天半個月都沒問題,不是windows。 2.A\B\C\D\E共佔用內存80%,運行新程序Z需要 20%的內存,系統內存因為沒見過剩餘0的時候,也就是應該剩一部分空閑內存,那麼就需要從A~E這幾個程序中選擇一個或者幾個來關閉,這一過程也需要耗費系統資源,所以會慢一會兒。 3.也就是說你手動去殺程序的時候,就是替系統在釋放內存,就算你不殺,在需要內存的時候系統也會自動釋放。 4.不在後台運行的程序(沒服務的),即使不殺也不會耗電。在後台運行的(有服務的)程序,如後台放歌,當然會耗電。 5.不是說殺進程沒用,不然作者就不會推薦進程管理軟體了。哪個帶服務耗電哪個後台一直在運行,看服務就能看出來,這樣的該殺。
3. android對應生命周期中應該釋放哪些資源
onPause():
當系統調用activity中的onPause(),從技術上講,意味著activity仍然處於部分可見的狀態.但更多時候意味著用戶正在離開這個activity,並馬上會進入Stopped state. 通常應該在onPause()回調方法裡面做以下事情:
停止動畫或者是其他正在運行的操作,那些都會導致CPU的浪費. 提交在用戶離開時期待保存的內容(例如郵件草稿). 釋放系統資源,例如broadcast receivers, sensors (比如GPS), 或者是其他任何會影響到電量的資源。
onResume():
當用戶從Paused狀態恢復activity時,系統會調用onResume()方法。系統每次調用這個方法時,activity都處於前台,包括第一次創建的時候。所以,應該實現onResume()來初始化那些在onPause方法裡面釋放掉的組件,並執行那些activity每次進入Resumed state都需要的初始化動作 (例如開始動畫與初始化那些只有在獲取用戶焦點時才需要的組件)
onStop():
當activity調用onStop()方法, activity不再可見,並且應該釋放那些不再需要的所有資源。一旦activity停止了,系統會在需要內存空間時摧毀它的實例(和棧結構有關,通常back操作會導致前一個activity被銷毀)。極端情況下,系統會直接殺死我們的app進程,並不執行activity的onDestroy()回調方法, 因此我們需要使用onStop()來釋放資源,從而避免內存泄漏.
onRestart(),onStart():
當activity從Stopped狀態回到前台時,它會調用onRestart().系統再調用onStart()方法,onStart()方法會在每次activity可見時都會被調用。onRestart()方法則是只在activity從stopped狀態恢復時才會被調用,因此我們可以使用它來執行一些特殊的恢復(restoration)工作,請注意之前是被stopped而不是destrory。
工具
安卓手機(需要提前root);
內存清理軟體;
操作步驟
點按菜單鍵(目錄條圖標),彈出設置菜單。
其他需要注意的
當不再運行一個游戲或者程序之後,不要直接點按手機的主頁鍵(小房子圖標)。這樣雖然能夠離開游戲或者程序,返回到主頁的桌面,但是絕大部分的游戲和程序還是在後台一直浪費你的內存和電能。
5. android開發 怎麼釋放activity的全部內存
假如現在有三個activity,分別是main,a 和b .
a和b都是需要很大內存的,在main中打開a或b,在a或b中直接按返回鍵,或者直接調用finish,回到main後通過update heap觀察剛才打開的activity佔用的資源可以很快釋放,如果是setResul後再調用finish回到main,發現內存被釋放的事件要稍微久一些。
第二個問題,在main中打開a,然後在a中startActivity打開b,然後a.finish,這個時候觀察a的內存並沒有釋放。如果在b中調用finish返回main後,a和b的內存就會被釋放掉。
6. 如何清理釋放Android手機內存空間
方法是:
1、下載安裝手機管理軟體,如獵豹清理大師、或91手機助手,對緩存、系統、卸載殘留實現進一步清理;
2、需要對不常用的軟體進行卸載清理,釋放內存,可通過91手機助手、或獵豹清理大師,將應該軟體「移至SD卡」,釋放內存空間;
3、對手機瀏覽器進行設置,將下載位置改為保存到SD卡上;
4、進入拍照狀態,在拍照界面進入相機設置,將相片保存位設為「SD卡」。
5、微信清理,方法是:
微信保存的視頻在Tencent/MicroMsg中對應每個人的目錄下,
(1)
將手機連接到電腦。
(2)打開手機存儲卡,找到tencent/MicroMsg文件夾。
(3)裡面有一個或者多個由一長串數字和字母組成的文件夾,與該手機登錄過的微信賬號一一對應。
(4)打開這些文件夾,video是視頻,image是緩存和保存的圖片,voice是語音。
需要的,保存到電腦上;不需要的,全部刪除,即可釋放好幾G的空間。
6、如果上述辦法仍不行,建議:做好手機資料備份,重置手機,恢復出廠設置,這一招相當管用、徹底!
7. 安卓怎樣釋放內存,要刷機嗎
不需要,釋放內存很簡單,首先系統就內置了方法的。你按住小房子那個按鍵不動,過2秒就會就釋放內存的程序出現,此外360軟體,內存釋放等軟體都可以實現你說的要求。