NSData
のNSManagedObject
プロパティにいくつかのPDFを保存しています。私はプロパティのために "外部ストレージを使用"を設定し、それは非常にうまく動作します。私が持っている問題は、PDFが本当に大きいとき、メモリが足りなくなってアプリがクラッシュすることです。チャンクでデータチャンクを直接ディスクに保存する方法はありますか?私はすでにrefreshObject:mergeChanges:
を使用していますが、完全なダウンロードが完了するまでデータをメモリに保存しておかなければなりません(そしてそのときだけ私はrefreshObject:mergeChanges:
と呼ぶことができます)。もちろん、大規模なドキュメントの場合、それは遅くなるため、私はそれを行う機会がある前にクラッシュします。コアデータと大きなファイルのダウンロード
0
A
答えて
0
私があなたの立場にいた場合は、受信PDFファイルであるNSInputStream
を取得し、NSOutputStream
を使用してディスクに直接書き込みます。
コアデータに関しては、メモリに完全にフォルトしようとしないファイルには適切ではないと思います。 Appleはコアデータを使ってディスクに保存されたファイルからNSInputStreamを取得するオプションを提供していません。その場合、ファイルの場所をコアデータに保存し、そのファイルパスでフォールトした後、保存されたパスからNSInputStream
を作成します。
ほとんどの開発者が好むより抽象度が少し低いですが、メモリ不足を引き起こす可能性のあるものを制御する方が良いです。
関連する問題
- 1. Drupal大きなファイルのアップロードとダウンロード
- 2. ジャージー1.17ダウンロード大きなファイル
- 3. AngularJs、大きなファイルをダウンロード
- 4. ダウンロード大きなファイルは、/コマンドプロンプトPowerShellの
- 5. Pythonで大きなzipファイルをダウンロード
- 6. 大きなファイル(〜40メガバイト)をダウンロードし、クリップ
- 7. Amazon S3から大きなファイルをダウンロード
- 8. 大きなファイルをダウンロードする
- 9. iPhoneのコアデータに大きなファイル(例:画像/動画)を保存
- 10. StreamingHttpResponseを使用した大規模なCSVファイルのダウンロードとダウンロード
- 11. java.lang.OutOfMemoryError:Java heap space巨大なファイルをダウンロードするとき
- 12. S3から大きなzipファイルをダウンロードしたときに破損したファイル
- 13. PHP:大きなファイルをダウンロードできないNet_SFTPライブラリ
- 14. 大きなアプリケーションデータパターンをダウンロード
- 15. コアデータ過大なVM:SQLiteページキャッシュ
- 16. Piktogrammsをダウンロードするときに大きすぎるファイル
- 17. PHP - 大きなサイズの複数のファイルをダウンロードする
- 18. AFNetworking +大きなファイルのダウンロードを一時停止/再開
- 19. RESTによる大きなファイルのアップ/ダウンロード
- 20. Amazon EC2 Hadoopで多数の大きなファイルをダウンロード
- 21. java.lang.OutOfMemoryError:URLから大きなファイルをダウンロードする際のJavaヒープスペース
- 22. 大きなファイルのダウンロード時に実行ルーチンがハングアップする
- 23. 大きなリクエストデータを含むファイルをダウンロードするためのwindow.location
- 24. grailsを使った大きなファイルのダウンロード
- 25. NSURLConnection(500M以上の大きなファイルをダウンロード)
- 26. 大きなファイルのダウンロード後にwgetがハングアップする
- 27. 小さいファイルをダウンロードできませんが大きなファイルをダウンロードできます
- 28. Google Chromeで大きなファイル(最大15 MB)をダウンロードする際の問題
- 29. swfbridgeと大きなファイル
- 30. タイププロバイダと大きなXMLファイル
なぜ私はdownvotedになったのですか?私が間違っているなら、誰かが私を訂正してください。 –