我们正在为 iOS 5.1+ 开发一个应用程序,用于下载和管理大型媒体文件,并且发现系统似乎没有放弃在NSFileManager实例上使用removeItemAtPath:error时放弃的磁盘空间。
例如:
- 我们从 5 GB 的可用空间开始(如“设置”应用程序下的“常规”->“使用”所示),该应用程序显示为使用 50MB。
- 用户下载一个 500 MB 的视频。设置现在显示 4.5 GB 可用。(我们的应用程序现在显示使用 550MB。)
- 用户在观看后选择删除视频,使用我们应用程序中的删除过程。设置仍然显示只有 4.5 GB 可用,但我们的应用程序现在显示恢复使用 50MB。
- 多次退出并恢复应用程序,设置中不会看到任何更改。
- 强制应用退出,设置会立即更新可用空间,说 5GB 再次可用。
是什么导致系统看似缓存已删除的文件?有什么方法可以告诉它不要,或者让系统释放磁盘空间?