シリアル化可能で区切ることの理解
1.まず、両方のインターフェイスは、オブジェクトを渡すことができるようにオブジェクトのシリアル化を実現することを目的としています。いわゆるシリアル化は、オブジェクト情報を保存できる媒体に置き換えるプロセスです。
2。Serializableは、JDKによって提供されるシリアル化されたインターフェイスです。このインターフェイスはIOパッケージの下に存在し、入力と出力に使用できます。非常に簡単に使用できます。クラスにこのインターフェイスを実装させてください。一時的なキーワードを使用して、シリアル化したくない属性を変更できます。
3。Parcelableは、SDKが提供するシリアル化されたインターフェイスです。より良いものを使用するのは面倒です。このインターフェイスを実装した後、WriteToparcelメソッドを書き直し、小包にシリアル化する必要があるプロパティを作成する必要があります。
その後、Cerator StaticメンバーのZodiacは、小包からデータを取得するためにも必要です。次のように
public static final creator <pen> creator = new creator <pen>(){@override public pen createfromparcel(parcel in){return new Pen(in); } @Override public Pen [] newArray(int size){return new Pen [size]; }}; @Override public int descrateContents(){return 0; } @Override public void writetoparcel(Parcel dest、int flags){dest.writestring(color); dest.writeint(size); }4.両方とも、シリアル化および脱介入操作をサポートするために使用されます。 2つの最大の違いは、ストレージメディアの違いです。 Serializableは、IOの読み取りと書き込みを使用してハードディスクに保存しますが、Parcelableはメモリに直接読み書きします。メモリの読み取り速度が通常IOの読み取りと書き込みよりも大きいことは明らかです。そのため、通常はAndroidでは小包が好まれます。
この記事を通して、私はJavaのシリアル化可能で区切ることの知識を徹底的に理解するために必要な友人を支援したいと考えています。このウェブサイトへのご支援ありがとうございます!