在activity之间只能传递简单的基本类型参数,如果要传递自定义对象类型,就需要使自定义的对象类实现Parcelable接口或Serializable接口,建议实现Parcelable。
很多人知道在activity之间传递参数时有两个选择一个是Parcelable,另外一个是Serializable。但究竟我们该何时使用其中的一个呢?
很多人不得而知,所以混用和滥用的情况就出现了。在这里我想给大家说清楚,以减少在程序中的不必要的风险。
1.在使用内存的时候,Parcelable 类比Serializable性能高,所以推荐使用Parcelable类。
2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。
3.Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在外界有变化的情况下。尽管Serializable效率低点, 也不提倡用,但在这种情况下,还是建议你用Serializable 。