Android Serializable介绍

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

介绍:

从字面意思来看,Serializable被翻译为序列化。序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。

java中,对象由属相和方法组成,序列化只处理属性不处理方法。

为什么要序列化?

对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。

需要序列化的情况:

  • 1当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
  • 2 当你想用套接字在网络上传送对象的时候;
  • 3当你想通过RMI传输对象的时候;

使用:


import java.io.Serializable;

public class Man implements Serializable {

    String name;
    int age;
}
Android 序列化(Serializable和Parcelable) Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。我把自己这段时间整理的Android最重要最热门的学习方向资料放在了我的GitHub,里面还有不同方向的自学编程路线、面试题集合/面经、及系列技术文章等。 阅读详情

相关推荐

Android 序列化Serializable和Parcelable

Serializable的设计初衷是为了序列化对象到本地文件、数据库、网络流、RMI以便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是由于Serializable效率过低,消耗大,而android中数据传递主要是在内存环境中(内存属于android中的稀有资源),因此Parcelable的出现为了满足数据在内存中低开销而且高效地传递问题。

2401_89190931的博客 811

Android | 序列化Serializable/Parcelable 使用总结

文章目录什么是序列化?为什么要序列化?怎么进行序列化Serializable实现原理serialVersionUID举例Parcelable实现原理举例Parcelable、Serializable比较效率对比容错率对比总结参考 什么是序列化?为什么要序列化?怎么进行序列化序列化定义:将一个类或对象转换成可存储、可传输状态的过程。对象序列化后,可以在进程内/进程间、网络间进行传输,也可以做本...

小马快跑的博客 1万+

Android Serializable和Parcelable的区别及其使用

要将一个实现了Serializable接口的对象转换为Parcelable,我们首先需要为该对象实现Parcelable接口所规定的方法。为了实现Parcelable接口,一个类需要完成以下几个关键步骤:首先,它需要实现writeToParcel方法,该方法负责将对象的状态(即成员变量的值)写入到一个Parcel对象中。例如,在一个复杂的Android应用中,如果需要在多个Activity或Service之间频繁传递包含大量字段的自定义对象,使用Parcelable可以显著提升应用的响应速度和用户体验。

大模型大数据攻城狮的专栏 773

Java笔记-序列化的注意点

1、使用serialVersionUID 在Eclipse中,如果一个类实现了Serializable接口,且没有给这个类设置一个serialVersionUID,就会有一个警告标志: The serializable class BaseEntity does not declare a static final serialVersionUID field of type long ...

不积跬步,无以至千里 1001

Android序列化(一) 之 Serializable

1 简介 序列化是指将数据对象转换成为一种可存储或可传输的数据格式,而反序列化则是相反的操作,将序列化后的数据还原成对象。最为常见的序列化应用有Json和XML,它们都是行业公认的标准。而在 Java 里,有专门提供了 Serializable 接口用于对象的序列化和反序列化Serializable接口在java.io包中定义,它本身并不存任何字段和方法,只是用于标识类为可序列化。类对象在序列化后会被转换成为字节输出流OutputStream(BufferedOutputStream、ByteArr

子云心的博客 6576

Android : 序列化 Serializable 简单应用

Android : 序列化 Serializable 简单应用

javaGHui的博客 615

[Android]序列化原理Serializable

其实,在writeObject是方法中,会查看你是否在类中写了writeObject方法,如果写了,那么就会通过反射调用类中的writeObject来写,而不是调用默认的方法。Externalizable接口实现Serializable接口,里面有两个方法需要我们重写,一个是writeExternal方法,怎么把对象写到序列化里面去,另一个是readExternal方法,怎么把这个对象从序列化中读取出来。所谓的序列化就是把内存中的某个对象转换成字节流的形式,而反序列化就是把字节流转换回内存的某个对象。

weixin_63357306的博客 1651

android对象序列化的方法,Android 进阶-两种序列化方式 Serializable 和 Parcelable

[导读]序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。什么是序列化我们总是说着或者听说着“序列化”,它的定义是什么呢?序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态...

weixin_29532075的博客 574

安卓反序列化漏洞

以二进制分析反序列化漏洞成因

shanzhuli的博客 1598

Android数据序列化总结

可以看到,Serializable 的使用比较简单,创建一个版本号即可;而 Parcelable 则相对复杂一些,会有四个方法需要实现。一般在保存数据到 SD 卡或者网络传输时建议使用 Serializable 即可,虽然效率差一些,好在使用方便。而在运行时数据传递时建议使用 Parcelable,比如 Intent,Bundle 等,Android 底层做了优化处理,效率很高。

轻口味的专栏 1920

Android 序列化和反序列化

目录 1.什么是序列化和反序列化 2.为什么要进行序列化 2.Android序列化的两种方式 2.1 实现java.io.Serializable 接口 2.1.1 serialVersionUID 属性 2.2 实现android.os.Parcelable 接口 3.Parcelable与Serializable的性能比较 4.Android中如何使用Parcela...

qq_31858955的博客 2497

Parcelable与 Serializable

  Parcelable与 Serializable功能对比 1.Parcelable与 Serializable 都可以实现安卓数据的序列化 2.Parcelable 是安卓专用序列化方式,开销比较小,使用麻烦,效率高;Serializablejava序列化方式使用简单需要大量I/O操作,效率低 3.Serializable 序列化可以把数据存储在外存中,保存数据相对于Parcelab...

startCrazyActivity的博客 588

安卓中IO机制概要

安卓中IO机制概要一、basic IO和NIO(1)内核空间内核:一套软件,操作系统用于支撑基础使用的功能程序(2)数据读写的方案内核空间对于IO的操作方案: 页:4K数据为一页, 一页数据是IO操作的基本单位 空间局部性原理:在常规操作下, 如果数据量较大的情况下可能会出现预占位4~16K的情况(3)JAVA 对于Bas...

baorant24的博客 152

Android Intent Serializable list

1、传递Serializable public class SeBean implements Serializable{}; SeBean bean = new SeBean(); Intent intent = new Intent(); intent.putExtra("info",bean); SeBean bean =(SeBean)getIntent().getSerializa

Lyc_S的博客 729

利用serializable将对象保存到本地

以前保存本地我只会用到SQLite,xml和sp。 今天大佬突然说你不会归档吗?(大佬是ios的),我说什么是归档,结果一查,就是安卓的 序列化serializable 我以前只会在acitivity跳转传对象的时候才会用到serializable,原来serializable还有将对象保存本地的作用,具体思想就是将对象序列化之后,用file文件读写方式将序列化后的对象保存到外部存

wangic的博客 4014

Intent(安卓的信使)

这个任务指定一个组件去执行,也只能它来执行。

qq_61923884的博客 431

Android 序列化Serializable和Parcelable(1)

由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,将一个对象转换成可存储或可传输的状态。这个过程就叫做序列化序列化后的对象可以在网络上进行传输,也可以存储到本地。希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,

2301_79985012的博客 822
上一篇: Parcelable和Serializable的区别
下一篇: OkHttp资料推荐 和 下载进度监听开源
geckhan
博客等级 码龄11年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值