簡體   English   中英

Android Bundle vs Java普通對象(PO​​JO)-序列化/反序列化性能

[英]Android Bundle vs Java plain object (POJO) - serialization/de-serialization performance

我正在將一些數據從一個活動傳遞到其他活動。 我有2個解決方案,如下所示:

  1. 使用套裝

     Bundle args = new Bundle(); args.put ("key1", serializable_object1); args.put ("key2", serializable_object2); args.put ("key3", serializable_object3); Intent intent = new Intent(this, MyActivity.class); intent.putExtra ( "args", args ); 
  2. 使用Java普通對象

     public class FragModel implements Serializable { public Serializable key1; public Serializable key2; public Serializable key3; } Intent intent = new Intent(this, MyActivity.class); FragModel model = new FragModel(); model.key1 = serializable_object1; model.key2 = serializable_object2; model.key3 = serializable_object3; // .... intent.putExtra ( "args", model ); 

我的問題是哪種解決方案更適合性能? 更好的序列化/反序列化?

有人有什么想法嗎? 謝謝!

Bundle是android平台提供的默認通信和數據傳輸方法。 您也可以在android中使用序列化,但不建議這樣做。 嘗試使用Parceable作為序列化的替代方法。 這取自android 開發者網站

警告:此接口限制了將來其實現類的更改方式。 通過實現Serializable,您可以將您靈活的內存中實現細節公開為嚴格的二進制表示形式。 當更改的類可序列化時,簡單的代碼更改(例如重命名私有字段)是不安全的。

至於性能,我只能說序列化的性能最差。 我不知道Parceable和Bundle的性能差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM