Android存储路径的简单探究

最近做新项目的时候,发现对于文件存储这块的知识很模糊了,可能做之前的项目一直用Crtl + c v大法,然后很多基础忘光了,每次又都重新百度搜索这类知识,继续cv上去...现在索性自己记录一下,加深理解,就算忘了也方便查找。


知识点

Android存储路径分为内部存储路径和外部存储路径。

  • 内部存储的路径不可见,使用不需要权限,可以放些很小的数据
  • 外部存储的路径是可见的,但是使用要申请权限,可以存放app使用过程中产生的图片,音频等较大文件。
  • 日常app清除缓存或者文件就是对应的CacheDir(),FilesDir()这些方法路径下的文件,卸载app的时候,包名目录以下的文件都会被删除,如下:
方法名 路径
Context.getCacheDir() /data/user/0/包名/cache
Context.getFilesDir() /data/user/0/包名/files
Context.getExternalCacheDir() /storage/emulated/0/Android/data/包名/cache
Context.getExternalFilesDir() /storage/emulated/0/Android/data/包名/files

  • 在使用外部存储执行任何工作之前,应始终调用getExternalStorageState()以检查介质是否可用。介质可能已装载到计算机,处于缺失、只读或其他某种状态。
  • 如下是一些公共目录下的方法和对应的存储路径,使用时需要权限,卸载app不会被删除。
方法名 路径
Environment.getExternalStorageDirectory() /storage/emulated/0
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) /storage/emulated/0/DCIM

你可能感兴趣的:(Android存储路径的简单探究)