parcelとシリアライズ可能なものは同じ意味で互換性があり、少なくとも直感的には使用されていません。私のためにいくつかのことを明確にすることはできますか?Androidパーセル、メモリまたはディスクに保存されていますか?ディスクに保存する方法
は
私はディスク
にストアパーセルデータへのシリアライズ可能な必要がありますか(ディスク上の)小包の永続ストレージであるか、メモリに保存された洞察力をありがとう、といいえ、アンドロイドのdevマニュアルはこれを私に明らかにしません
parcelとシリアライズ可能なものは同じ意味で互換性があり、少なくとも直感的には使用されていません。私のためにいくつかのことを明確にすることはできますか?Androidパーセル、メモリまたはディスクに保存されていますか?ディスクに保存する方法
は
私はディスク
にストアパーセルデータへのシリアライズ可能な必要がありますか(ディスク上の)小包の永続ストレージであるか、メモリに保存された洞察力をありがとう、といいえ、アンドロイドのdevマニュアルはこれを私に明らかにしません
私の答え:
小包はオブジェクトを平坦化するためのもので、JVMの実行中のメモリ以外の場所に格納することができます。
データをディスクに保存するために、シリアル化可能なパーセルを混合する必要はありません。一方または他方だけで、オブジェクトをディスクに格納するのに十分です。
シリアライズとParcelableあなたのJavaオブジェクトを平坦化する両方の方法です。
これらの平坦化されたオブジェクトは、さまざまな伝送形式(ディスクファイルが含まれています)でプロセス間で渡すことができます。
シリアライズ可能なのはJavaのコアであり、使いやすいです。
パーセルブルはAndroidのもので、もう少し複雑です。
この答えは、より多くの詳細が含まれます:
https://stackoverflow.com/a/5551155/523135
このブログ記事は、サンプルコードParcelableを持っています
http://www.javapractices.com/topic/TopicAction.do?Id=45
:http://blog.cluepusher.dk/2009/10/28/writing-parcelable-classes-for-android/
このブログの記事は、サンプルSerializableのコードを持っています
Parcelのドキュメントを読んでください。小包は、永続的保管場所に置かないでください。
抜粋:。
は」...小包は、汎用のシリアル化メカニズムではありません。このクラス(および小包の中に任意のオブジェクトを配置するための対応Parcelable API)は、高性能IPCトランスポートとして設計されています。 .. "
" Parcelデータを永続ストレージに配置することは適切ではありません。Parcel内のデータの基礎となる実装を変更すると、古いデータが判読不可能になる可能性があります。
http://developer.android.com/reference/android/os/Parcel.html