次のことを行うプロジェクトがあります: - 開始時 (または更新ボタンを押す) に、wcf サービスで新しいデータ (4 つのテーブル、約 1600 ~ 2000 のテーブル エントリの合計) をチェックします。・サービスがテーブルごとにcvsファイルを生成し、データを圧縮(gzip) ・androidアプリが圧縮ファイルをダウンロードし、その中のデータを抽出 ・その後、csvファイルを処理 全体で約2秒(ダウンロード含む)古いデバイス (1 コア、1 GHz)。
バックグラウンドでタスクを実行するためにサービスを使用することをお勧めします。もし私があなただったら、JSON の代わりに cvs を使用します。たくさんのデータを持っています。
サービスで情報処理を実行し、データベースに挿入することには、いくつかの重要な利点があります。 - ユーザーがホーム キーを押した場合、サービスはバックグラウンドで作業を続行できます。彼女はあなたのアプリが機能していることを知っています.Androidは別のプロセスでサービスを実行することを可能にします.メインアプリケーションが完全に(ユーザーによって、または他の何かのためにメモリが必要なときにシステムによって)強制終了された場合,この方法でまだあなたのdbのことをすることができます。- 別のプロセスで実行することの欠点は次のとおりです - それは別の vm であるため、より多くのメモリを消費します - データベースへのアクセスで問題が発生する可能性がありますが、最初の実行時にデータベースを満たすためだけに使用するため、問題ありません これについて詳しく読むことができますここ(アンドロイド:プロセス):http://developer.android.com/guide/topics/manifest/service-element.html#proc
要約
- json の代わりに cvs を使用します - データベースを埋めるためにサービスを使用します - 別のプロセス サービスを使用する場合 (テーブルから count(*) を選択し、それが一致するかどうかを確認します) db で予想される行数)。