1、内存数据传输
主要用Parcelable。
一是因为Parcelable在内存传输的效率比Serializable高。二是因为在Android中很多传输数据的方法中,自带了对于Serializable、Parcelable类型的传输方法。比如:
Bundle.putParcelable,
Intent putExtra(String name, Parcelable value)
2、数据持久化(本地存储)
首先,Serializable本身就是存储到二进制文件,所以用于持久化比较方便。而Parcelable序列化是在内存中操作,如果进程关闭或者重启的时候,内存中的数据就会消失,那么Parcelable序列化用来持久化就有可能会失败,也就是数据不会连续完整。
而且Parcelable还有一个问题是兼容性,每个Android版本可能内部实现都不一样,知识用于内存中也就是传递数据的话是不影响的,但是如果持久化可能就会有问题了,低版本的数据拿到高版本可能会出现兼容性问题。
但是实际情况,对于Android中的对象本地化存储,一般是以数据库、SP的方式进行保存。
3、 网络传输
而对于网络传输的情况,一般就是使用JSON了。主要有以下几点原因:
1.轻量级,没有多余的数据。
2.与语言无关,所以能兼容所有平台语言。
3.易读性,易解析。