android中的各种缓存目录 | 您所在的位置:网站首页 › 安卓图片目录 › android中的各种缓存目录 |
为了看的更加具体,我们分两种情况看:sd卡正常挂载和sd不正常的情况(没有SD卡或者SD卡挂载不正常) 首先我们先看一下Android手机应用缓存和数据存储的位置: //sd卡的路径 Log.i(TAG,"getExternalStorageDirectory: "+ Environment.getExternalStorageDirectory().getAbsolutePath()); //SD卡加载状态 Log.i(TAG,"getExternalStorageState: "+ Environment.getExternalStorageState()); //有SD卡的情况:应用的缓存目录 Log.i(TAG,"getExternalCacheDir: "+this.getExternalCacheDir().getAbsolutePath()); //无SD卡的情况:应用的缓存目录 Log.i(TAG,"getCacheDir: "+this.getCacheDir().getAbsolutePath()); //有SD卡的情况:应用的存储目录 Log.i(TAG,"getExternalFilesDir: "+this.getExternalFilesDir("test").getAbsolutePath()); //无SD卡的情况:应用的存储目录 Log.i(TAG,"getFilesDir: "+this.getFilesDir().getAbsolutePath()); 接下来我们看log打印的结果: ![]() 我的测试应用包名是:com.zzy 根据日志信息我们能够清楚地看到: SD的路径:/storage/emulated/0 SD卡的挂载状态:mounted-->正常加载的状态值 有SD卡的情况:缓存路径:/storage/emulated/0/Android/data/com.zzy/cache 无SD卡的情况:缓存路径:/data/data/com.zzy/cache 有SD卡的情况 :下载路径:/storage/emulated/0/Android/data/com.zzy/files/test 无SD卡的情况:下载路径:getFilesDir: /data/data/com.zzy/files 现在我们已经能够清楚知道我们清楚数据和清除缓存的具体位置了; 当我们卸载应用的时候,系统会把data/应用包名 下面的files目录和cahe目录全部自动删除掉。但是如果我们把文件下载在SD卡的根路径,系统不会帮我们回收,需要用户手动删除,因此,优秀的程序员都应考虑良好的用户体验,即使由于某种原因卸载了我们的应用,我们还是应该在对应用数据位置进行最优的存储:临时数据存放在cache目录下,持久化的数据存储在files; |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |