[英]Android Bundle vs Java plain object (POJO) - serialization/de-serialization performance
我正在將一些數據從一個活動傳遞到其他活動。 我有2個解決方案,如下所示:
使用套裝
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 );
使用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.