前言
??在Android設(shè)備中煌集,我們經(jīng)常會看到與系統(tǒng)或者應(yīng)用相關(guān)的清除功能有:清除數(shù)據(jù)妓肢、清除緩存、一鍵清理苫纤,這么多清除功能對于一個程序猿就夠難理解了碉钠,偏偏很多安卓設(shè)備上都有這些功能,對于用戶來說就更難理解卷拘,趁著在把玩手機的時候想到了這一點喊废,索引追根究底了解他們的具體區(qū)別。
清除數(shù)據(jù)栗弟、清除緩存污筷、一鍵清理的區(qū)別
清除數(shù)據(jù)
??清除數(shù)據(jù)主要是清除用戶配置,比如SharedPreferences乍赫、數(shù)據(jù)庫等等瓣蛀,這些數(shù)據(jù)都是在程序運行過程中保存的用戶配置信息,清除數(shù)據(jù)后雷厂,下次進入程序就和第一次進入程序時一樣惋增;
清除緩存
??緩存是程序運行時的臨時存儲空間,它可以存放從網(wǎng)絡(luò)下載的臨時圖片改鲫,從用戶的角度出發(fā)清除緩存對用戶并沒有太大的影響诈皿,但是清除緩存后用戶再次使用該APP時,由于本地緩存已經(jīng)被清理像棘,所有的數(shù)據(jù)需要重新從網(wǎng)絡(luò)上獲取稽亏,注意:為了在清除緩存的時候能夠正常清除與應(yīng)用相關(guān)的緩存,請將緩存文件存放在getCacheDir()或者 getExternalCacheDir()路徑下缕题。比如對微信清除緩存措左,則聊天記錄、朋友圈緩存的用戶頭像避除、圖片、文字等信息都會被清除掉胸嘁,清除緩存后再次進入微信時你會發(fā)現(xiàn)消息記錄被清空了瓶摆,朋友圈的圖片和用戶頭像需要加載一會才能正常顯示。
一鍵清理
??一鍵清理是系統(tǒng)級別的功能性宏,它主要是殺后臺進程群井,以達到釋放內(nèi)存的目的,但殺掉哪些進程和清理時設(shè)置的重要值閾值有關(guān)毫胜,重要值越大說明進程重要程度越低书斜,如果在清理時某個進程的重要值大于該閾值诬辈,該進程就會被殺掉。比如微信等應(yīng)用在后臺荐吉,一件清理后會將微信和與之相關(guān)的服務(wù)都殺掉(有的服務(wù)做了特殊處理焙糟,殺不死!Q馈4┐椤)。
參考資料
What's the difference between clear cache & clear data in android settings
How to delete files created by the application on uninstall?
說明
??為了讓程序被卸載后不在文件系統(tǒng)中留下毫無關(guān)聯(lián)的無用文件悦穿,建議將應(yīng)用相關(guān)的配置和緩存文件存放在程序被卸載時會刪掉的文件夾下面(音樂文件、視頻文件业踢、圖片栗柒、電子書這種適合多個應(yīng)用閱讀和瀏覽的文件除外),具體路徑有:
/data/data/package/
getFilesDir()
getCacheDir()
getExternalCacheDir()(是否能夠在程序被卸載時被刪除與API的等級有關(guān))
getExternalFilesDir()(是否能夠在程序被卸載時被刪除與API的等級有關(guān))