iPadで非常に大きなjsonファイルを解析しようとしています。ファイルサイズは 50 から 100 mb の間で変化します (最初のファイルがあり、毎月 1 つの新しい完全なデータ セットがあり、ダウンロードされ、解析され、coredata に保存されます)
企業向けソリューションとしてこのアプリを構築しています.jsonファイルには機密性の高い顧客データが含まれており、オフラインでも機能するようにiPadにローカルに保存する必要があります。ファイルが 20 MB 未満の場合は機能しましたが、データのセットが大きくなり、本当に解析する必要があります。解析中にメモリ警告が表示され、3 回目の警告の後、クラッシュします。私はいくつかの異なる Core Data エンティティを持っており、json ファイルからのすべての値を設定しているだけです (アプリが初めて起動されたとき)。すべてが完了したら、[context save]
.
そのような巨大なファイルを処理する方法について、誰かが私にアドバイスをくれることを望んでいました. json ファイルをいくつかの小さな json ファイルに分割し、複数のスレッドで解析することを考えていましたが、それが正しいアプローチかどうかはわかりません。大きな問題の 1 つは、ファイル全体がメモリに保持されていることだと思います。ファイルをメモリに「ストリーミング」する方法などがあるのでしょうか。
ファイルの解析にJSONKit ( https://github.com/johnezang/JSONKit ) を使用しています。これが最速のものであると読んだためです (おそらく、メモリ上でより簡単になる遅いものがあるのでしょうか?)。
前もって感謝します。