关于这个问题,StackOverflow的一种解释是这样的:

Android学习札记13:为什么更推荐使用Parcelable来在Activity间传递数据,而不是Serializable?_第1张图片

大概翻译下:

鉴于 Parcelable可能会引起这个争议,为什么Android不使用Java中内置的序列化机制呢?这是因为Android团队意识到,Java的序列化无法满足Android中进程间通信的要求,所以Android团队用Parcelable来解决这个问题。Parcelable实现了类成员中明确的序列化需求,但却比类直接地序列化更快。

还必须认识到的是,Android提供了两套机制让你在进程间传递数据。第一种是用Intent来传递Bundle给Activity,另一种是传递Parcelable给Service。这两套机制是不可以互换的,所以不要搞混了。这就是说,Parcelable不是用来传递给Activtiy的。因此,如果你想要在启动Activity的时候传递一些数据给它,请使用Bundle。Parcelable只能使用在一些AIDL中明确定义的情况下。


结论:
Parcelable比Serializable更快,更适合在Android中使用。


参考资料:http://stackoverflow.com/questions/5550670/benefit-of-using-parcelable-instead-of-serializing-object



更多相关文章

  1. init进程【4】——属性服务
  2. Android消息机制不完全解析(上)
  3. 理解Android进程创建流程
  4. Android 之读取元素中的数据
  5. Android 读取元素中的数据
  6. Android的IPC机制Binder的详解(转发)
  7. ViewPager的定时滚动,动态加载数据

随机推荐

  1. Android检查是否安装了某个应用
  2. android sdk myeclipse8.6
  3. Android里的shell的系统命令
  4. Android获取存储设备挂载路径
  5. Android中EditText 设置 imeOptions 无效
  6. Ubuntu Touch 只是另一个 Android 皮肤?
  7. unity-与Android交互(unity5、android st
  8. Android消息机制Handler源码分析
  9. Android自动化测试之环境搭建(二)
  10. Android 4.1源码编译找不到资源文件解决