关于Android Context的文件管理函数。

      在Context api中,有几组函数,如getExternalCacheDir(),getDir(),getCacheDir()等,返回的都是一个File对象。这些函数在软件的缓存管理中,十分有用。现对照着api对这些函数的使用场景和区别作下总结。

      Context.getDatabasePath(String name) :  Context.openOrCreateDataBase会创建一个数据库。而getDatabasePath就是返回文件系统上此数据库的绝对路径。参数name为数据库的名字;

  •     Context.getDir(String name,int mode)       API level 1
  •     Context.getCacheDir()                                  API level 1
  •     Context.getExternalCacheDir()                   API level 8
  •     Context.getExternalFilesDir()                      API level 8
  •     Context.getFilesDir()                                     API level 1
    好吧,看这5个函数略晕。莫晕,api给了很详细的解释。
    先看下getDir(String name,int mode)的用法吧。
    获取一个文件的路径(如果不存在就创建),应用程序可以在这个路径里放置一些数据文件。通过这个函数返回的file对象,我们可以创建或者读取这个路径里的文件。但是只有我们自己的应用程序可以访问这些文件。嘿,看来我们可以在这个函数返回的文件路径里放点自己的“私房钱”。还有,我们可以通过参数mode来设置文件的读取权限。再加一句,返回的这个文件路径,可以是通过 Context.openFileOutput(String name,int mode)创建的文件。   
    
    再来看context另外两个函数,getCacheDir()和getExternalCacheDir().这俩哥们,虽说getExternalCacheDir比getCacheDir就多了个external,这待遇就差很多了。
    既然是兄弟,就有很多共同点。首先,我们的应用都可以往这两个函数返回的路径里放入缓存文件,而且这些文件大小还有限制!比如说1mb,要是缓存文件超过1mb了,那不行,得把多余的数据删掉,这些删除操作不能依赖系统噢,得自己搞。当软件被删掉的时候,这些缓存文件也得被删掉。系统内存不足的时候,这些缓存文件也会最先被删除。
    不同点,那getExternalCacheDir()就得有一把泪啊。首先,由于系统不经常监督sd卡的可用大小为多少,放在sd卡的这些缓存文件就可能没有删除。还有当sd拔出,或者手机连着电脑,sd装载的时候,就不能再读写这些文件了。所以使用之前,得问问sd的状态。所以别说自己待遇差,自己不靠谱先!还有就是写在sd卡的缓存文件,是没有安全措施保存的。。别的应用也可以看的。。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值