倔强的小QA学习之路
一、名词解释。
External storage:即 在共享的外部存储中存储公共数据。/mnt/sdcard
Internal storage(ROM):即 在设备内存中存储私有数据。/data
二:Internal storage
对于APP来讲,内部存储的分类:app 目录和data目录
1、/data/app : 文件夹里放着我们所有安装的app的apk文件
2、/data/data: APP的私有数据
data下的私有数据分类:
目录:/data/data/包名:SharedPreferences 、数据库、 缓存文件 等
1、/data/data/包名/shared_prefs:SP信息
2、/data/data/包名/databases:数据库信息
3、/data/data/包名/files:APP的文件信息
4、/data/data/包名/cache: 缓存信息
内存存储的特点:只有该APP可以访问,他人无法访问,除非该APP公开接口。
tips:卸载会把相关文件删除掉
三、External storage;
目录:mnt/sdcard 存在 公共区域(public)和私有区域(private)
tips: mnt/sdcard /Android/data/包名 是私有区域。和内部存储功能相同,
主要存比较大的私有文件。例如:音乐,图片等
mnt/sdcard目录下的 public区域:
Environment.getExternalStoragePublicDirectory(参数) 参数对应目录如下:
Music/—媒体扫描器把在这个目录中找到所有媒体文件作为用户音乐。
Podcasts/—媒体扫描器把在这个目录中找到的所有媒体文件作为音/视频的剪辑片段。
Ringtones/—媒体扫描器把在这个目录中找到的所有媒体文件作为铃声。
Alarms/—媒体扫描器把在这个目录中找到的所有媒体文件作为闹钟的声音。
Pictures/—所有的图片(不包括那些用照相机拍摄的照片)。
Movies/—所有的电影(不包括那些用摄像机拍摄的视频)。
Download/—其他下载的内容。
四、CLEAR DATA 和 CLEAR CATCH删除的都是哪些内容
CLEAR DATA:
1.data/data/包名/ --> 该目录下的所有文件
2. mnt/sdcard/Android/包名 --> 该目录下的所有的数据也都会被删除。
CLEAR CACHE:
1. data/data/包名/catch --> 该目录下的数据,
2. mnt/sdcard/Android/包名/catch --> 该目录下的数据
五、缓存理解
移动开发本质上就是手机和服务器之间进行通信,需要从服务端获取数据。反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过缓存机制来减少频繁的网络操作,减少流量、提升性能。
哪些需要缓存?---需要对数据复用的。
---不需要实时更新的数据、图片的加载、缓存时间、需要离线访问的数据,等?
来自小QA学习存储的感悟:
避免程序员存错地方,导致清除关键数据后离线打开存在的crash
参考文档:https://juejin.im/post/58b557de128fe10065e93cc8
https://juejin.im/post/5b8e2b98f265da43656f4ed7
https://blog.csdn.net/huanglei201502/article/details/46947293