我是靠谱客的博主 炙热白猫,最近开发中收集的这篇文章主要介绍Android序列化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.定义

序列化:将对象的状态信息转换成可存储、传输的字节流,这些字节流可以保存到磁盘上,也可以通过网络进行传输,在以后某个时刻恢复原来的对象

2.序列化的方式

  • Serializable

java提供的一个序列化接口,使用方便,序列化后的字节流可以持久存储,但底层通过反射来实现,中间会产生大量对象,效率低

  • Parcelable

Android自己实现的序列化接口,通过将类状态信息分解为基本类型信息在内存中进行存取,效率高,底层通过c++实现,由于android系统各个版本可能实现Parcelable的方式不尽相同,所以不建议使用Parcelable进行持久化存储,建议在activity、service、binder中传递信息使用

  • 探究问题的过程中记录一些发现:

如果一个父类实现了Serializable接口,那么它的子类都是可序列化的

如果一个父类没有实现Serializable接口,而它的子类实现了Serializable接口,那么父类中的变量不会被序列化,如果要序列化父类中的变量,要么让父类实现Serializable接口,要么在子类中定义和父类中相同名字的变量

如果一个类是序列化的,那么它的成员变量中如果有其它类的实例,那么这个类也一定得是序列化的

3、相关的一些优秀博客

Android - 从浅到懂理解 Serializeable 和 Parcelable 实现的序列化和反序列化_龙衣-CSDN博客

每日一问 Parcelable 为什么效率高于 Serializable ?-玩Android - wanandroid.com

java序列化,看这篇就够了 - 9龙 - 博客园

最后

以上就是炙热白猫为你收集整理的Android序列化的全部内容,希望文章能够帮你解决Android序列化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部