Nixo Home

Parcelable和Serializable的差异

字数统计: 224阅读时长: 1 min
2019/07/24 Share

什么是序列化

  • 由于存在内存中的对象都是短暂的,为了把对象的状态保存下来,就需要把对象写到磁盘或者其他介质中
  • 序列化: 内存对象->磁盘或其他介质
  • 反序列化:磁盘或其他介质->内存对象
    在Android中 一个对象要序列化就要实现Parcelable接口或者Serializable接口

回答

从两方面回答 效率和实现

  • Serializable 实现接口即可,编译期会生成一个Long型的序列化UID(作用是反序列化时判断UID是否相同,相同才能反序列化)
    优点:实现简单 缺点:开销大
  • Parcelable 适用麻烦,需要实现writeParcel 将对象映射成parcel对象,然后通过createFormParcel将parcel对象映射成我们的对象
    优点:性能上比Serializable好,因为内存开销比前者小
CATALOG
  1. 1. 什么是序列化
  2. 2. 回答