私はAlamofireフレームワークが初めてです。データファイルをダウンロードしようとしています。コードは次のとおりです。
Alamofire.download(.GET, urlStr, { (temporaryURL, response) in
if let directoryURL = NSFileManager.defaultManager()
.URLsForDirectory(.DocumentDirectory,
inDomains: .UserDomainMask)[0]
as? NSURL {
let pathComponent = response.suggestedFilename
return directoryURL.URLByAppendingPathComponent(pathComponent!)
}
return temporaryURL
})
ファイルのダウンロードに成功しました。ただし、すべてのプロセスはメモリで実行されます。ご覧のとおり、大きなファイル (つまり 50 MB 以上) をダウンロードしようとすると、didReceiveMemoryWarning が発生し、アプリが閉じてしまいます。どうすればそれを防ぐことができますか?
テストでは、ムービー (サイズは 220 MB) をダウンロードしようとしましたが、シミュレーターでは、メモリ使用量が最大 500 MB になりました。そして、私が自分の電話を試すとき。メモリ警告を表示した後、それは自動的に閉じました。