https://blog.csdn.net/weixin_30586369/article/details/117503703
android獲取包名下的存儲(chǔ)路徑,Android文件夾路徑/data/data/包名/
應(yīng)用程序在運(yùn)行的過程中如果需要向手機(jī)上保存數(shù)據(jù),一般是把數(shù)據(jù)保存在SDcard中的延窜。
大部分應(yīng)用是直接在SDCard的根目錄下創(chuàng)建一個(gè)文件夾候衍,然后把數(shù)據(jù)保存在該文件夾中奏候。
這樣當(dāng)該應(yīng)用被卸載后,這些數(shù)據(jù)還保留在SDCard中调俘,留下了垃圾數(shù)據(jù)臀稚。
如果你想讓你的應(yīng)用被卸載后疫粥,與該應(yīng)用相關(guān)的數(shù)據(jù)也清除掉,該怎么辦呢故爵?
通過Context.getExternalFilesDir()方法可以獲取到 SDCard/Android/data/你的應(yīng)用的包名/files/ 目錄玻粪,一般放一些長(zhǎng)時(shí)間保存的數(shù)據(jù)
通過Context.getExternalCacheDir()方法可以獲取到 SDCard/Android/data/你的應(yīng)用包名/cache/目錄,一般存放臨時(shí)緩存數(shù)據(jù)
如果使用上面的方法诬垂,當(dāng)你的應(yīng)用在被用戶卸載后劲室,SDCard/Android/data/你的應(yīng)用的包名/ 這個(gè)目錄下的所有文件都會(huì)被刪除,不會(huì)留下垃圾信息结窘。
而且上面二個(gè)目錄分別對(duì)應(yīng) 設(shè)置->應(yīng)用->應(yīng)用詳情里面的”清除數(shù)據(jù)“與”清除緩存“選項(xiàng)
總結(jié)一下android 中的幾種目錄:
一很洋、 files
1. Context.getFilesDir(),該方法返回/data/data/youPackageName/files的File對(duì)象隧枫。
2. Context.openFileInput()與Context.openFileOutput()喉磁,只能讀取和寫入files下的文件谓苟,返回的是FileInputStream和FileOutputStream對(duì)象。
3. Context.fileList()协怒,返回files下所有的文件名涝焙,返回的是String[]對(duì)象。
4. Context.deleteFile(String)孕暇,刪除files下指定名稱的文件仑撞。
- Context.getExternalFilesDir()方法可以獲取到 SDCard/Android/data/youPackageName/files/ 目錄,一般放一些長(zhǎng)時(shí)間保存的數(shù)據(jù)
二妖滔、cache
1. Context.getCacheDir()隧哮,該方法返回 /data/data/youPackageName/cache的File對(duì)象,這個(gè)文件里面的數(shù)據(jù)在設(shè)備內(nèi)存不足的時(shí)候铛楣,會(huì)被系統(tǒng)刪除數(shù)據(jù)近迁。注意:你不能依賴系統(tǒng)幫你刪除這些文件艺普,當(dāng)這個(gè)文件夾里面的數(shù)據(jù)超過1MB的時(shí)候簸州,系統(tǒng)會(huì)刪除這個(gè)文件夾里面的數(shù)據(jù)。
- Context.getExternalCacheDir()方法可以獲取到 SDCard/Android/data/youPackageName/cache/目錄歧譬,一般存放臨時(shí)緩存數(shù)據(jù)
三岸浑、custom dir
getDir(String name, int mode),返回 /data/data/youPackageName/ 下的指定名稱的文件夾File對(duì)象瑰步,如果該文件夾不存在則用指定名稱創(chuàng)建一個(gè)新的文件夾矢洲。
相關(guān)資源:(https://download.csdn.net/download/u010937230/9930396?spm=1001.2101.3001.5697)