0

次のアイデアのどれがより多くの文を作るのか知りたいです:

5,000 を超えるエントリを持つ 3 つの配列があります。そして、それらを Extra に入れようとすると、FAILED BINDER TRANSACTION になりました。

  1. これらの大きな配列をより小さな配列に分割し、putExtra によって次のアクティビティに渡します

  2. これらのエントリをデータベースに保存し、sqllite とカーソルを操作しますか?

前もって感謝します!

4

2 に答える 2

0

両方を部分的に使用する 3 番目のオプションを使用します。

  1. データがアプリにとって有用であると思われる場合は、データを永続化します (DB など)。Web サービスからダウンロードする場合は、解析の直後で、UI スレッドに渡す前にこれを行います。
  2. 両方からアクセスできるリストのメモリ キャッシュを作成しますActivities。シングルトンを提案する人もいますが、リストを保持するだけならこれで問題ないかもしれませんが、私は inApplicationまたは @Injected のいずれかのモデル クラスを好みます。
  3. このようなリストが多数あり、場合によっては別のリストを送信したい場合は、 の間にキーを送信しますActivities
  4. 秒でモデル (またはシングルトン) からデータを取得するときActivityは、プロセスが強制終了された後に null を取得しないようにして、DB からリストを再作成してください。UIスレッドでDB操作を行わず、データが再作成され、数ミリ秒で表示されることをユーザーに知らせることをお勧めします。

このようにして、常に DB からデータを取得するオーバーヘッドを回避できます。UI は応答性が高く、パーセリングもあまり行いません。

于 2013-05-16T11:59:53.810 に答える