cocos2d::network::Downloader 内存无法回收

使用iphone5s真机测试,在使用Downloader进行文件下载时发现内存也一直在涨,把downerloader实例delete掉之后,内存并没有收回掉,这时若继续开始下载,可以直接从上次暂停的进度继续下载,如果这时退出app再开启然后下载,发现也是可以断点下载的。问题就是为什么在downerloader 被delete之后,CCDownloader-apple的doDestory方法肯定是走道了,但是内存却没有回收,这样如果下载一个大一些的文件的话,就会内存爆满而闪退了,请问大牛如果解决此问题,谢谢。使用官方的testcpp里的DownerloaderTest真迹测试下来发现也是没有把内存回收掉。

才发现自己居然还问个这个问题,这么久了自己回答一下吧,我改了cocos的CCDownloader-apple.mm里的关于NSUrlSession的源码,把下载方式由defaultSessionConfiguration改成了backgroundSessionConfigurationWithIdentifier。就没有问题了,正好也解决了后台下载大文件的需求。改了源码再用cocos gen-lib命令重新引擎的prebuilt文件。

这样修改的原因是什么 知道吗

你去看NSurlsession api介绍就知道了