2つのアクティビティがあり、Serializableを実装するいくつかの巨大なオブジェクトをアクティビティAからアクティビティBに送信しようとしています。問題は、AndroidOSがこのオブジェクトをシリアル化するのにかかる時間です。アクティビティ間でパラメータを送信する方法はありますか?アプリケーションオブジェクトに送信して次のアクティビティで取得しようとしましたが、この方法は汚いと思います...
2 に答える
2
このユースケースParcelable
ではパフォーマンスが優れている可能性があるため、Androidが作成したのはまさにこのためです。Serializable
于 2013-02-13T21:52:30.727 に答える
1
Serializable
またはによって大量のデータを渡す代わりに使用できるいくつかの代替案を次に示しますParcelable
。
- この大きなデータチャンクを頻繁に使用する場合は、を使用することを検討して
Service
ください。データを保持し、処理し、必要に応じて配信します。その後、終了することができます。 - 別のアプローチは、この大きなオブジェクトへの参照をオブジェクトに入れることです
Application
(このように)。「グローバルリファレンス」は通常は良く聞こえませんが、場合によってはこれが推奨されます。さらに、それでも「汚れている」と感じた場合はWeakReference
、2番目に渡されて使用されるとすぐに使用して取り除くことができますActivity
。 - または、さらに別の方法として、すべての作業を
Activity
(2番目の作業を開始せずに)単数で実行し、View
sで遊ぶことを検討できます。もちろん可能であれば。
于 2013-02-13T22:13:54.343 に答える