Environment.getExternalStorageState()方法用于获取mnt/SDCARD2/目录

getCacheDir()方法用于获取/data/data/<application package>/cache/目录

getFilesDir()方法用于获取/data/data/<application package>/files/目录

getExternalCacheDir()方法用于获取SDCard/Android/data/<application package>/files/目录

getExternalFilesDir()方法用于获取SDCard/Android/data/<application package>/cache/目录


应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分应用是直接在SDCard的根目

录下创建一个文件夹,然后把数据保存在该文件夹中。这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数

据。如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?


通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据

通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据


如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项

如果要保存下载的内容,就不要放在以上目录下


通过以下方法来获取缓存地址:


public String getDiskCacheDir(Context context) {      String cachePath = null;      if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())              || !Environment.isExternalStorageRemovable()) {          cachePath = context.getExternalCacheDir().getPath();      } else {          cachePath = context.getCacheDir().getPath();      }      return cachePath;  }  


getCacheDir()获取缓存路径/data/data/<application package>/cache

getExternalCacheDir()获取缓存路径/sdcard/Android/data/<application package>/cache


参考地址:http://blog.csdn.net/guolin_blog/article/details/28863651

使用地址:http://blog.csdn.net/guolin_blog/article/details/34093441


更多相关文章

  1. android mContainer.setPersistentDrawingCache (int drawingCac
  2. Android(安卓)Studio删除缓存的依赖库
  3. Android(安卓)数据漫游默认值的修改方法
  4. Android(安卓)SystemService类注释
  5. Android实现使用流媒体播放远程mp3文件的方法
  6. Android开发 System.out.println(); 控制台输出方法
  7. Android简单判断某个APK是否已经安装的方法
  8. Flutter跟Android交互
  9. SimpleAdapter

随机推荐

  1. Intent及其属性详解
  2. android api code学习之ActivityManager
  3. Android(安卓)开发经验汇总
  4. Android之EventBus1.0 和EventBus3.0的使
  5. android 命令
  6. iOS开发 OC与java相对应的3DES加解密
  7. Google Android如何分析和研究Log文件 ,如
  8. Kivy A to Z -- 如何从python代码中直接
  9. [置顶] android popupwindow 弹出窗口在
  10. Android(安卓)studio APP开发第二章 Butt