在需要存储的时候,路径的问题是初学者比较迷惑的,下面是对于getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的一些经验之谈,仅供参考思密达...

首选,需要明确的是 各自代表的路径具体位置在哪里

getCacheDir()对应的路径:  /data/data/应用包名/cache / 目录

getFilesDir()对应的路径:/data/data/应用包名/files/ 目录

getExternalFilesDir()对应的路径: SDCard/Android/data/应用包名/files/ 目录

getExternalCacheDir() 对应的路径: /sdcard/Android/data/应用包名/cache / 目录

 

这几个方法的最大不同点就是存储的位置不同以及该应用被卸载后是否会有残存数据遗留

使用下述路径:

getExternalFilesDir()对应的路径: SDCard/Android/data/应用包名/files/ 目录

getExternalCacheDir() 对应的路径: /sdcard/Android/data/应用包名/cache / 目录

getExternalStorageDirectory()对应的路径:sd卡根目录

 

这两个方法当你的应用在被卸载后,SDCard/Android/data/应用包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。

所有一些你下载的东西,需要常驻sd卡的数据 就不能写入到这里面

还有一个我们经常见到的方法getExternalStorageDirectory(),那么它和上述的getExternalFilesDir()方法又有什么异同?

主要不同点在于存储在getExternalFilesDir()路径下的数据会随着应用的卸载而被卸载。


 

posted on 2015-08-09 14:48  ADVANCE_ae  阅读(842)  评论(0编辑  收藏  举报