2016-08-22 4 views
0

以下の2つの方法のどちらが、アクティビティ間でデータを転送するためのパフォーマンスが向上しますか?Android、アクティビティ間でデータを転送するパフォーマンス

  1. Activity1:putExtra("id" , customerId)

    Activity2:テーブルの上に選択し、Customerオブジェクト

  2. Activity1:putExtra("customer", customer)

    Activity2:Customer customer = (Customer)getIntent().getExtras().getSerialaizable("customer");

を埋めます

次のアクティビティにユニークなアイテム(IDなど)を送信し、それをデータベースから選択するか、オブジェクト全体を次のアクティビティに送信してキャストしますか?

+0

は、次回のアクティビティで何をしたいかによって決まります。単一のIDのみが必要な場合、なぜ顧客のすべてのデータを次のアクティビティに送信するのですか? –

+0

@VivekMishraもちろん、オブジェクトの全データが必要です! – AlirezaXX

+0

その後、オブジェクト全体を送信 –

答えて

0

アンドロイドではシリアライズ可能ではありません。チェックはparcelableです。fasterです。

シリアライゼーションとDBはオブジェクトの共用性に依存しますが、プロファイリングのみが画像を表示できますが、1つのオブジェクトでは無視できません。

最も速い方法は、オブジェクトをメモリに保存してシングルトンを共有することです。

1

明らかに第1の方法。オブジェクトのIDを送信してから、データベースから2番目のActivityで読み取るだけです。もう1つの方法は、シリアライズ/デシリアライゼーションにCPUサイクルを要します。 Parcelableを使用しても、かなりのCPUサイクルが使用されます。

一方、bazillionオブジェクトでこれを実行している場合を除き、パフォーマンスのペナルティに気づくことはありません。より理解しやすく維持しやすい、もっと簡単なことをしてください。

関連する問題