iOS文件存放规范

为了防止将不必要的文件进行同步或者备份到iCloud,iOS开发者应该有选择性地存放应用程序相关的文件。存储大型文件的应用会减慢备份到iTunes或者iCloud的速度。这些应用还有可能会浪费用户大量的存储空间,从而导致用户不得不将他们删除,或者关闭iCloud的备份功能。为了防止上面的情况发生,我们需要在开发的时候遵守以下规范。

  • 将用户相关的数据存放在Documents/。所谓“用户相关的数据”,通常是指开发者希望暴露给用户的数据,也就是任何用户希望创建,引用,删除,或者编辑的 数据。对于一个画画的应用来说,用户数据就是包括用户所创建的图像文件。对于一个编辑器来说,用户数据是指用户编辑的文本文件。对于音频以及视频文件来说,用户数据就是下载的音视频文件。
  • 将应用产生的文件放在Library/Application support/目录。通常情况下,这个文件夹存放的内容应该是应用运行需要,但是无需暴露给用户的文件,比如一些配置文件,模板,或者从应用资源文件夹中加载的文件。
  • 请谨记,在Documents/ 还有Application Support/中的文件,在默认情况下是会被备份的。开发者可以通过调用-[NSURL setResourceValue:forKey:error:] 然后将Key的数值设为NSURLIsExcludedFromBackupKey 来将指定的目录移除备份的范围。任何可以被重复下载或者创建的文件,都需要从备份目录中清除掉。对体积较大的多媒体文件而言,这一点要尤为注意。如果开发者的应用下载了类似的音频或者视频文件,请确保这些文件不在备份的范围内
  • 将临时数据放在tmp/目录下。所谓的临时数据,就是开发者不会一直需要的数据。开发者需要在不用这些文件的时候,将其及时删除,以确保这些文件不会占用用户设备的存储空间。当应用没有处在运行状态的时候,操作系统会定期对这个文件夹进行清理,所以,开发者不能将需要长期保存的数据放在这个文件夹下面。
  • 将缓存数据放在Library/Cache/目录下。缓存数据的存在周期应该会比临时数据要长,但是不会比应用需要的资源文件的存在周期更长。通常来讲,应用的运行不会绝对依赖于缓存数据,但是可以借助其来优化性能。举例来说,缓存数据包括但不限于数据库的缓存文件,从网络下载的图片。值得注意的一点是,系统有可能会对这个文件夹进行清理,以释放更多的磁盘空间,因此,开发者开发的应用必须能够重新下载或者创建相应的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值