小罗学习笔记之安卓的存储路径(持续完善)

来源:互联网 发布:windows消息机制linux 编辑:程序博客网 时间:2024/05/22 00:39

这两天给app集成了DiskLruCache,参考郭神的文章 Android DiskLruCache完全解析,硬盘缓存的最佳方案 http://blog.csdn.net/guolin_blog/article/details/28863651

按照郭神文章里的说法,图片的存放路径最好是/sdcard/Android/data/<application package>/cache,原因如下:

1.这个存储在SD卡上,因此即使缓存再多的数据也不会对手机的内置存储空间有任何影响,只要SD卡足够就行。

2.这个路径被Android系统认定为应用程序的缓存路径,当程序被卸载的时候,这里的数据也会一起被清理掉,这样就不会出现删除程序之后手机上还有很多残留数据的问题。(这一点太给力了,以前我就经常末末的吐槽好多应用删掉了还有文件夹,吐槽那些开发人员。。)

方法呢,按照郭神的说法,其中缓存地址前面已经说过了,通常都会放在/sdcard/Android/data/<application package>/cache 这个路径下面,但同时我们又需要考虑如何这个手机没有SD卡,或者SD卡正好被移除了的情况,因此比较优秀的程序员会专门写一个方法来获取缓存地址:

public File getDiskCacheDir(Context context, String uniqueName) {      String cachePath;      if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())              || !Environment.isExternalStorageRemovable()) {          cachePath = context.getExternalCacheDir().getPath();      } else {          cachePath = context.getCacheDir().getPath();      }      return new File(cachePath + File.separator + uniqueName);  }  

记得以前自己都是直接用Environment.getExternalStorageDirectory()貌似也没有什么问题,好像不同的手机用这个接口获取到的路径是不一样的,是不是我以后也要参照郭神这个路径来做呢?

学习一下,后续继续完善。。。

1 0