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