序列化:表示将一个对象转换成可存储或者可传输的状态
序列化的目的?
为了数据的持久化和可传递化。
简而言之,就是对象不好操作,我们就把它转成流。
反序列化,就是将这个流程颠倒过来,将流转成对象。
详解如下:
永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中)
通过序列化操作将对象数据在网络上进行传输(由于网络传输是以字节流的方式对数据进行传输的,因此序列化的目的是将对象数据转换成字节流的形式)
将对象数据在进程之间进行传递(Activity之间传递对象数据时,需要在当前的Activity中对对象数据进行序列化操作,在另一个Activity中需要进行反序列化操作将数据取出)
Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即:这些对象的生命周期不会比JVM的生命周期更长(即每个对象都在JVM中)但在现实应用中,就可能要停止JVM运行,但有要保存某些指定的对象,并在将来重新读取被保存的对象。这是Java对象序列化就能够实现该功能。(可选择入数据库、或文件的形式保存)
序列化对象的时候只是针对变量进行序列化,不针对方法进行序列化
在Intent之间,基本的数据类型直接进行相关传递即可,但是一旦数据类型比较复杂的时候,就需要进行序列化操作了。