2016-04-05 26 views
0

我是一個新的後起之秀Android開發,我碰巧在這句話上跌倒:什麼是序列化和Parcelable

  • 序列化對象
  • 系列化
  • Parcelables並

請,這些詞是什麼意思,它們用於什麼?

+7

[Android:Parcelable和Serializable之間的區別?](http:// stackoverflow。com/questions/3323074/android-difference-between-parcelable-and-serializable)或[Android Parcelable and Serializable](http://stackoverflow.com/questions/9323044/android-parcelable-and-serializable)閱讀更多[* *這裏**](http://www.developerphil.com/parcelable-vs-serializable/) –

回答

1

可編輯和序列化用於編組和解編 Java對象。

Parcelable是在Android SDK中有詳細記載;另一方面,序列化在Java中可用。正是出於這個原因,Android開發人員比序列化技術更喜歡Parcelable。

·在Parcelable中,開發人員編寫自定義代碼進行封送和取消編組,因此與序列化相比,它創建的垃圾對象更少。由於這種自定義實現,Parcelable over Serialization的性能顯着提高(大約快兩倍)。

·序列化是一個標記接口,這意味着用戶不能根據他們的要求編組數據。在序列化中,使用Java反射API在Java虛擬機(JVM)上執行封送處理操作。這有助於識別Java對象成員和行爲,但最終也會創建大量垃圾對象。

由於這個原因,序列化過程比Parcelable慢。

檢查以下鏈接:很好的解釋和例子。
http://www.3pillarglobal.com/insights/parcelable-vs-java-serialization-in-android-app-development

1

https://en.wikipedia.org/wiki/Serialization

在計算機科學中,在數據存儲的上下文中,序列化是 翻譯數據結構的過程或對象的狀態轉換爲可存儲在 格式(例如,在文件或存儲器緩衝區中,或通過網絡連接鏈路發送)並且在相同或另一計算機環境中稍後重建 。

有不同的方法可以使java類可序列化。其中有

  • Parcelable是一種非便攜式的android特定格式。 (非便攜式:不能在Android以外使用)
  • Serializable是適用於所有java系統(包括android)的可移植的java標準二進制格式。 (二進制=對於人類不可讀)
  • xml-serialization-in-java是一種人類可讀的格式。
相關問題