CursorAdapterを使用してデータを表示するListActivityがあります。このデータは、Webサービス呼び出しの結果です。
org.json。*ライブラリを使用して解析し、結果をアプリのSQLite3データベースに書き込んで、Webサービス呼び出しから応答を取得しています。次に、ListActivityのカーソルが再クエリされ、データがリストに表示されます。
私の問題は、データベースの書き込みが非常に遅いことです。私が考えることができる唯一のことは、CursorAdapterを使用せず、このデータをメモリに保持することです。私は誰かが物事をスピードアップするための別の提案を持っていることを望んでいました。おそらく、ある種のバルクインサート?
挿入を行うためにContentProviderを使用していることに注意してください。そこで、getContentResolver()。insert(...)を呼び出します。
LAN経由で56行のデータを取得して表示したテストの結果を次に示します。
応答までの時間:178ms
jsonを解析する時間:16ms
データベースに56行を書き込む時間:5714ms
最終的には、この量のデータに対してデータベースの書き込みにかかる時間を1000ミリ秒未満にしたいと思います。