私はこの質問が複数回尋ねられていることを知っています。私はこれらの質問を多く受けています......これらの質問のほとんどは、あなたのクラスのパーセルインタフェースの使用をスローします。 は、しかし、質問のカップルで、私は引用に出くわした:アプリケーション内で、カスタムオブジェクトをアクティビティ間で渡す最も良い方法は何ですか?
「注:Parcelableは疑問を引き起こしている可能性があります見て、なぜAndroidはビルトインのJava直列化機構 を使用していないそれはAndroidのチームが来たことが判明します?結局、 Javaのシリアル化は、Androidのプロセス間通信 の要件を満たすには遅すぎるので、チームはParcelableソリューションを構築しました。 Parcelableアプローチでは、クラスのメンバーを明示的にシリアル化する必要がありますあなたはオブジェクトのシリアライズをより速く行うことができます データを別の プロセスに渡すことを可能にする2つのメカニズム。 1つは、インテントを使用してバンドルをアクティビティに渡すことで、もう1つは、サービスに パーセルブルを渡すことです。 これらの2つのメカニズムは互換性がありません。 を混同しないでください。つまり、Parcelableはアクティビティに渡されることを意図していません。 アクティビティを開始し、それにいくつかのデータを渡したい場合は、バンドルを使用してください。 Parcelableのみ AIDL定義の一部として使用されることを意味している。」
をこの引用も今、同じアプリケーション内のすべてのアクティビティが同じで実行することを見て2
ProのAndroidの本の中で見つけることができますプロセス(Every Activity in Android is a Process,or One Application is one process)は、マニフェストで特に指定されていない限り、同じアプリケーションのアクティビティ内の通信はプロセス間通信ではありません。したがって、パーセル可能なクラスを使用するのが本当に速いか、意図?
この側面での光の放出は、大きく評価されます。 乾杯!
私は個人的にアプリケーションから拡張して静的なクラスを使用しますが、これはベストプラクティスではありませんが、うまくいきます。 – PedroAGSantos