-2

重複の可能性:
11 MB の Android で大きな json を解析する

GSONとJacksonを使用してAndroidで約11MBの大きなJSONを解析する際に問題に直面しています。問題は、メモリ不足エラー例外が発生し、ヒープ サイズがこのプロセスを実行するのに十分でないことです。これは私のペーパーモデルクラスです

public class Paper {
    public int primaryKey;
    public String title;
    public int entry;
    public Boolean favourite;
    public String comment;
    public int opt;
    public int score;
}

これは私のレスポンスモデルクラスです

public class Response {
    public List<Paper> papers;
} 

これは私のJSON文字列です

{"Paper":[[{"abstract":"Not Available","title":"A Fully Intraocular 0.0169mm<sup>2<\/sup>/pixel 512-Channel Self-Calibrating Epiretinal Prosthesis in 65nm CMOS","primaryKey":3,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A Scalable 2.9mW 1Mb/s eTextiles Body Area Network Transceiver with Remotely Powered Sensors and Bi-Directional Data Communication","primaryKey":14,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 0.18µm CMOS SoC for a 100m-Range 10fps 200×96-Pixel Time-of-Flight Depth Sensor","primaryKey":20,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 12b 1.6GS/s 40mW DAC in 40nm CMOS with >70dB SFDR over Entire Nyquist Bandwidth","primaryKey":26,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"All-Digital Hybrid Temperature Sensor Network for Dense Thermal Monitoring","primaryKey":49,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"32Gb/s Data-Interpolator Receiver with 2-Tap DFE in 28nm CMOS","primaryKey":51,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 93% Efficiency Reconfigurable Switched-Capacitor DC-DC Converter Using On-Chip Ferroelectric Capacitors","primaryKey":60,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1},{"abstract":"Not Available","title":"A 45nm CMOS Near-Field Communication Radio with 0.15A/m RX Sensitivity and 4mA Current Consumption in Card Emulation Mode","primaryKey":61,"entry":9,"score":-1,"comment":null,"favourite":false,"opt":1}]]}

どこでミスをしたかわかりません。私は論文のリストに対してnullを取得しています。

4

1 に答える 1

1

GSONとJacksonを使用してAndroidで約11MBの大きなJSONを解析する際に問題に直面しています。

ダウンロードして解析するのは非常に困難です。11MB は高すぎます。

使用できる代替手段は次のとおりです。

Web サービスを変更して、カウンターのようなパーティションを持つようにすることができます。 counter=1,2,3....最初の 1000 レコードがカウンター = 1 になるように WS を作成し、それを解析した後、別のデータが カウンター = 2になり、それを解析するなど..

これは、問題を解決するのに役立ちます。

于 2013-01-21T07:49:34.107 に答える