[Kotlin] Serializable vs Parcelable
Serializableとは?Javaのタグインタフェース
:シリアル化(シリアル化)に必要なインタフェース.
これは、Java内部で使用されるオブジェクトまたはデータを
プログラムで使用されるデータは連続的ではなく,内部がポインタで参照されるため,分散したデータを1つの場所に集中して一連のバイトで送信する必要がある.
Byte Stream
データをバイト単位で交換します.
-
2.Parcelableとは?
Android SDKのインタフェースとして、
直接
従って、
:シリアル化(シリアル化)に必要なインタフェース.
public interface Serializable {}
Javaシリアル化(シリアル化)これは、Java内部で使用されるオブジェクトまたはデータを
바이트 스트림
として作成し、外部Javaシステムで使用することを意味する.プログラムで使用されるデータは連続的ではなく,内部がポインタで参照されるため,分散したデータを1つの場所に集中して一連のバイトで送信する必要がある.
Byte Stream
データをバイト単位で交換します.
-
Serializable
内部でReflection
を使用してシリアル処理を行い、処理中に多くの追加オブジェクトが生成されます.これらのごみはGarbage Collector
の目標となり、Garbage Collector
の過度な動作は性能の低下と電池消費を招く.2.Parcelableとは?
Android SDKのインタフェースとして、
Reflection
は設計されていません.Serializable
とは異なり、自動的に処理する必要のないReflection
がユーザによって明示的に作成される.直接
Parcelable
を実施するとボイラプレートコードが生成される.従って、
kotlin-parcelize plugin
自動処理Parcelable
を用いて実現される.plugins {
id 'kotlin-parcelize'
}
@Parcelize
data class Person(
val name: String,
val age: Int
): Parcelable
Reference
この問題について([Kotlin] Serializable vs Parcelable), 我々は、より多くの情報をここで見つけました https://velog.io/@h-swon/Kotlin-Parcelable-vs-Serializableテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol