Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在应用程序退出之前,系统不会放弃磁盘空间吗?_Ios_Nsfilemanager - Fatal编程技术网

Ios 在应用程序退出之前,系统不会放弃磁盘空间吗?

Ios 在应用程序退出之前,系统不会放弃磁盘空间吗?,ios,nsfilemanager,Ios,Nsfilemanager,我们正在为iOS 5.1+开发一个应用程序,用于下载和管理大型媒体文件,并发现系统似乎不会释放在应用程序实例上使用时所释放的磁盘空间 例如: 我们从5GB的可用空间开始(如“常规->使用”下的“设置”应用程序所示),该应用程序显示使用50MB 用户下载500 MB的视频。设置现在显示4.5 GB可用空间。(我们的应用程序显示现在正在使用550MB。) 用户选择在观看后使用我们应用程序中的删除过程删除视频。设置仍然显示只有4.5 GB可用,但我们的应用程序现在显示已恢复使用50MB 退出并恢复应

我们正在为iOS 5.1+开发一个应用程序,用于下载和管理大型媒体文件,并发现系统似乎不会释放在应用程序实例上使用时所释放的磁盘空间

例如:

  • 我们从5GB的可用空间开始(如“常规->使用”下的“设置”应用程序所示),该应用程序显示使用50MB
  • 用户下载500 MB的视频。设置现在显示4.5 GB可用空间。(我们的应用程序显示现在正在使用550MB。)
  • 用户选择在观看后使用我们应用程序中的删除过程删除视频。设置仍然显示只有4.5 GB可用,但我们的应用程序现在显示已恢复使用50MB
  • 退出并恢复应用程序数次,设置中不会出现任何更改
  • 强制退出应用程序,设置立即更新可用空间,表示5GB再次可用

是什么导致系统似乎缓存了删除的文件?我们有没有办法告诉它不要,或者让系统释放磁盘空间?

我以前也注意到了同样的问题。请同时说明您正在使用的iOS版本。您是否有任何打开的文件句柄?我可能会说没有,但现在在尝试删除文件而不首先下载它时,我发现系统更新正确。听起来下载代码中有一些延迟文件句柄…泄漏发现问题的可能性很小。谢谢,tc,我们的下载代码中确实有延迟文件句柄——很久以前从NSFileHandles更改为NSFileStreams的残余。磁盘空间现在似乎报告了应用程序的预期数量。