王永超王永超嫖娼
做android app开发会涉及到不同数据的保存,比如数据缓存,客户登陆信息保存,客户状态的保存等等。
那针对这不同的数据我们应该保存在什么地方呢?
1、应用卸载也不会删除的数据
直接在sdCard根目录创建一个文件夹,保存数据。
优点:保存时间长,应用卸载也不会被删除。缺点:任何人都可以访问这个目录。
2、跟随应用的存在而存在的数据
Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ API8以上才能用
以上这个目录会随着应用卸载而删除,这个目录对应android手机 设置->应用->应用详情里面的”清除数据 这个选项,用户点击这个时,这个目录数据就会被删除。
Context.getFilesDir()可以获取到"/data/data/<package name>/files" 这种方法获取到的是应用的安装目录下的files目录。
3、应用的缓存目录 系统会自动定时清理,
Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/
以上这个目录是 Sd卡的缓存目录,可存放临时缓存数据 这个目录对应 设置->应用->应用详情里面的”清除缓存,用户点击这个选项时会清除这个目录下的数据
Context.getCacheDir可以获取到"/data/data/<package name>/cache" 应用安装目录的缓存目录
以上这个文件里面的数据在设备内存不足的时候,会被系统删除数据。注意:你不能依赖系统帮你删除这些文件,当这个文件夹里面的数据超过1MB的时候,系统会删除这个文件夹里面的数据