3

SQLite を使用して Android でアプリケーションを開発しています。私は SQLite にまったく慣れていないので、設計の選択について質問したいと思います。

オブジェクト (DB 内の行を表す) をあるアクティビティから別のアクティビティに渡したい場合、次のうちどれがより高速でリソース効率が高いですか?

  • オブジェクトを JSON としてシリアル化し、目的を持って送信し、反対側で逆シリアル化します
  • レコード ID のみを送信し、他のアクティビティで再度 DB からレコードをプルする

どちらの場合でも、これら 2 つの選択肢のパフォーマンスの違いは何でしょうか?

4

1 に答える 1

1

実際には、行のサイズに依存します。比較的小さい場合 (少数のプリミティブ) は、シリアル化されたデータを渡すことは大したことではありませんが、JSON よりも少し軽量なものを使用したい場合があります。大規模なデータ セット (BLOB など) がある場合、ディスクから行をフェッチすることと、シリアル化および逆シリアル化することによるパフォーマンス ヒットは、おそらく同等かそれ以下です。理想的には、データを一度だけフェッチしてシングルトンに保存し、POJO などのさまざまなアクティビティからアクセスできるようにします。

于 2012-11-28T15:36:10.303 に答える