内推
【长期有效】欢迎加入字节跳动我的团队:内推链接
一.应用内置存储。(/data/data/[packagename]目录下)
此目录读写权限为rwxrwx--x,是应用私有存储目录,其他应用不可读写,除非指定相同的uid。关于Android uid、pid及与linux的关系,可参考:[http://blog.csdn.net/vshuang/article/details/43639211]
-
/data/data/[packagename]/files 文件存储目录,一般存小的文件,如果是图片、音乐、视频等富媒体,不建议放这里,一般放到外置卡。File file = getFilesDir(); 获取目录。
-
/data/data/[packagename]/cache目录,存放一些缓存文件。 File cache = getCacheDir();获取此目录
-
/data/data/[packagename]/databases,存放应用的数据库
-
/data/data/[packagename]/lib,存放应用的so文件
-
/data/data/[packagename]/shared_prefs ,存放应用的SharedPreferences保存
二.应用外置存储。(/sdcard/Android/data/[packagename]目录下)
此目录读写权限为rwxrwxrwx,所有应用可读可写可执行,故不建议将比较重要或者私密的文件放在外置存储。
-
sdcard/Android/data/[packagename]/files,一般放一些长时间保存的文件,通过Context.getExternalFilesDir()方法可以获取到 。
-
sdcard/Android/data/[packagename]/cache,一般存放临时缓存数据(视频、音频、图片等),通过Context.getExternalCacheDir()方法可以获取到 。
另:Environment.getExternalStorageDirectory().getPath();可获得应用内置sdcard根目录。
三.当进入“设置”->“应用管理”->“应用详情页”时:
-
应用详情页显示的缓存选项:即为/data/data/[packagename]/cache 和 /mnt/sdcard/Android/data/[packagename]/cache的总大小。
点击清除缓存时,是清除掉这两个位置下的文件。 -
应用详情页显示的数据项:其大小为应用内置存储和外置存储总大小 - /data/data/[packagename]/lib目录大小。
点击清除数据时,清除应用内置存储(/data/data/[packagename]目录)下除了lib目录下的全部文件及应用外置存储(/sdcard/Android/data/[packagename]目录)下的全部文件。 -
应用详情页显示的SD卡选项:其大小即为应用外置存储(/sdcard/Android/data/[packagename]目录)的大小。