0

2つのアクティビティがあり、Serializableを実装するいくつかの巨大なオブジェクトをアクティビティAからアクティビティBに送信しようとしています。問題は、AndroidOSがこのオブジェクトをシリアル化するのにかかる時間です。アクティビティ間でパラメータを送信する方法はありますか?アプリケーションオブジェクトに送信して次のアクティビティで取得しようとしましたが、この方法は汚いと思います...

4

2 に答える 2

2

このユースケースParcelableではパフォーマンスが優れている可能性があるため、Androidが作成したのはまさにこのためです。Serializable

Androidのパーセラブルおよびシリアライズ可能

http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/

于 2013-02-13T21:52:30.727 に答える
1

Serializableまたはによって大量のデータを渡す代わりに使用できるいくつかの代替案を次に示しますParcelable

  • この大きなデータチャンクを頻繁に使用する場合は、を使用することを検討してServiceください。データを保持し、処理し、必要に応じて配信します。その後、終了することができます。
  • 別のアプローチは、この大きなオブジェクトへの参照をオブジェクトに入れることですApplicationこのように)。「グローバルリファレンス」は通常は良く聞こえませんが、場合によってはこれが推奨されます。さらに、それでも「汚れている」と感じた場合はWeakReference、2番目に渡されて使用されるとすぐに使用して取り除くことができますActivity
  • または、さらに別の方法として、すべての作業をActivity(2番目の作業を開始せずに)単数で実行し、Viewsで遊ぶことを検討できます。もちろん可能であれば。
于 2013-02-13T22:13:54.343 に答える