Android应用相关文件目录、清除数据和缓存的介绍

版权声明:转载请注明出处。 https://blog.csdn.net/rentee/article/details/52044240

一.应用内置存储。(/data/data/[packagename]目录下)

此目录读写权限为rwxrwx--x,是应用私有存储目录,其他应用不可读写,除非指定相同的uid。关于Android uid、pid及与linux的关系,可参考:[http://blog.csdn.net/vshuang/article/details/43639211]
  1. /data/data/[packagename]/files 文件存储目录,一般存小的文件,如果是图片、音乐、视频等富媒体,不建议放这里,一般放到外置卡。File file = getFilesDir(); 获取目录。

  2. /data/data/[packagename]/cache目录,存放一些缓存文件。 File cache = getCacheDir();获取此目录

  3. /data/data/[packagename]/databases,存放应用的数据库

  4. /data/data/[packagename]/lib,存放应用的so文件

  5. /data/data/[packagename]/shared_prefs ,存放应用的SharedPreferences保存


二.应用外置存储。(/sdcard/Android/data/[packagename]目录下)

此目录读写权限为rwxrwxrwx,所有应用可读可写可执行,故不建议将比较重要或者私密的文件放在外置存储。
  1. sdcard/Android/data/[packagename]/files,一般放一些长时间保存的文件,通过Context.getExternalFilesDir()方法可以获取到 。

  2. sdcard/Android/data/[packagename]/cache,一般存放临时缓存数据(视频、音频、图片等),通过Context.getExternalCacheDir()方法可以获取到 。

    另:Environment.getExternalStorageDirectory().getPath();可获得应用内置sdcard根目录。


三.当进入“设置”->“应用管理”->“应用详情页”时:
这里写图片描述

  1. 应用详情页显示的缓存选项:即为/data/data/[packagename]/cache 和 /mnt/sdcard/Android/data/[packagename]/cache的总大小。
    点击清除缓存时,是清除掉这两个位置下的文件。

  2. 应用详情页显示的数据项:其大小为应用内置存储和外置存储总大小 - /data/data/[packagename]/lib目录大小。
    点击清除数据时,清除应用内置存储(/data/data/[packagename]目录)下除了lib目录下的全部文件及应用外置存储(/sdcard/Android/data/[packagename]目录)下的全部文件。

  3. 应用详情页显示的SD卡选项:其大小即为应用外置存储(/sdcard/Android/data/[packagename]目录)的大小。

猜你喜欢

转载自blog.csdn.net/rentee/article/details/52044240