Android清除資料、清除緩衝、一鍵清理的區別
前言
??在Android裝置中,我們經常會看到與系統或者應用相關的清除功能有:清除資料、清除緩衝、一鍵清理,這麼多清除功能對於一個程式猿就夠難理解了,偏偏很多安卓裝置上都有這些功能,對於使用者來說就更難理解,趁著在把玩手機的時候想到了這一點,索引追根究底瞭解他們的具體區別。
清除資料、清除緩衝、一鍵清理的區別
清除資料
??清除資料主要是清除使用者配置,比如SharedPreferences、資料庫等等,這些資料都是在程式運行過程中儲存的使用者配置資訊,清除資料後,下次進入程式就和第一次進入程式時一樣;
清除緩衝
??緩衝是程式運行時的臨時儲存空間,它可以存放從網路下載的臨時圖片,從使用者的角度出發清除緩衝對使用者並沒有太大的影響,但是清除緩衝後使用者再次使用該APP時,由於本機快取已經被清理,所有的資料需要重新從網路上擷取,注意:為了在清除緩衝的時候能夠正常清除與應用相關的緩衝,請將快取檔案存放在getCacheDir()或者 getExternalCacheDir()路徑下。比如對清除緩衝,則聊天記錄、朋友圈緩衝的帳戶圖片、圖片、文字等資訊都會被清除掉,清除緩衝後再次進入時你會發現訊息記錄被清空了,朋友圈的圖片和帳戶圖片需要載入一會才能正常顯示。
一鍵清理
??一鍵清理是系統層級的功能,它主要是殺後台進程,以達到釋放記憶體的目的,但殺掉哪些進程和清理時設定的重要值閾值有關,重要值越大說明進程重要程度越低,如果在清理時某個進程的重要值大於該閾值,該進程就會被殺掉。比如等應用在後台,一件清理後會將和與之相關的服務都殺掉(有的服務做了特殊處理,殺不死!!!)。
參考資料
What’s the difference between clear cache & clear data in android settings
Android中系統設定中的清除資料究竟會清除哪些資料
Android 一鍵清理、記憶體清理功能實現
How to delete files created by the application on uninstall?
說明
??為了讓程式被卸載後不在檔案系統中留下毫無關聯的無用檔案,建議將應用相關的配置和快取檔案存放在程式被卸載時會刪掉的檔案夾下面(音樂檔案、視頻檔案、圖片、電子書這種適合多個應用閱讀和瀏覽的檔案除外),具體路徑有:
/data/data/package/
getFilesDir()
getCacheDir()
getExternalCacheDir()(是否能夠在程式被卸載時被刪除與API的等級有關)
getExternalFilesDir()(是否能夠在程式被卸載時被刪除與API的等級有關)