Android Serializable接口与Parcelable接口

本文探讨了Android中对象传递的方式,重点比较了Serializable与Parcelable两种序列化方式的优劣。指出Parcelable相较于Serializable具备更高的效率,但实现起来更为复杂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明来自:黄朝辉的博客

引入

在Android中,我们不能直接传递一个对象给Activity,除非这个对象实现了Serializable或者Parcelable接口。
Serializable是一个标准的Java接口。这种方法使用了反射,同时,创建了大量的临时对象,可能导致Java的垃圾回收。
为什么Android不使用Java内置的序列化机制?因为Android团队认为,在Android中Java的序列化太慢了,不能满足Android进程间通信的需要。所以Android团队提出了Parcelable这个解决方案。Parcelable方法要求你显式的序列化你类中的成员,从而为对象实现了更快的序列化。

结论

  1. Parcelable比Serializable快;
  2. 实现Parcelable接口要比实现Serializable接口花的时间多;
  3. Serializable接口特别容易实现;
  4. Serializable接口创建了大量临时对象,造成垃圾回收;
  5. 在Android中,Parcelable数组能通过Intent传递。

参考

  1. http://stackoverflow.com/questions/3323074/android-difference-between-parcelable-and-serializable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值