为什么Intent传递对象的时候必须要将对象序列化呢?

Posted TwoFish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Intent传递对象的时候必须要将对象序列化呢?相关的知识,希望对你有一定的参考价值。

Intent可以算是四大组件之间的胶水,比如在Activity1与Activity2之间传递对象的时候,必须要将对象序列化,

可是为什么要将对象序列化呢?

技术分享


Intent在启动其他组件时,会离开当前应用程序进程,进入ActivityManagerService进程(intent.prepareToLeaveProcess()),
 
这也就意味着,Intent所携带的数据要能够在不同进程间传输
 
首先我们知道,android是基于Linux系统,不同进程之间的java对象是无法传输,
 
所以我们此处要对对象进行序列化,从而实现对象在 应用程序进程 和 ActivityManagerService进程 之间传输。
 

以上是关于为什么Intent传递对象的时候必须要将对象序列化呢?的主要内容,如果未能解决你的问题,请参考以下文章

Android Intent传递对象为什么要序列化?

android activity之间传递对象 对象为啥要序列化

Intent传递对象——Serializable和Parcelable差别

java android 序列号serializable和parcelable

Android :安卓学习笔记之 通过Intent传递类对象(实现Serializable和Parcelable接口)

android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口