Android 安卓系统中对包裹的需求

Android 安卓系统中对包裹的需求,android,parcelable,Android,Parcelable,我想知道什么时候用包裹,什么时候不用。我知道在android中,parcelable是一种复杂的包裹数据类型,但根据官方文件,并没有提到这一点。那么什么时候真的需要包裹呢 通过实现Parcelable接口,您可以使您的类对象能够存储在包中,然后您可以借助意图轻松地将其传递给另一个活动 e、 g 然后在另一项活动中,按如下方式进行: YourClass object = (YourClass) getIntent().getExtras().getParcelableExtra("name");


我想知道什么时候用包裹,什么时候不用。我知道在android中,parcelable是一种复杂的包裹数据类型,但根据官方文件,并没有提到这一点。那么什么时候真的需要包裹呢

通过实现
Parcelable
接口,您可以使您的类对象能够存储在
包中
,然后您可以借助
意图
轻松地将其传递给另一个活动

e、 g

然后在另一项活动中,按如下方式进行:

YourClass object = (YourClass) getIntent().getExtras().getParcelableExtra("name");

注意打字。这是使用类的方法所必需的。

要将数据传递给另一个活动,我们通常将bundle对象放在将被调用的活动意图上。Bundle可以用long、integer和boolean等基本数据类型填充。它可以用简单的数据类型(如String类)填充,以表示文本。例如,一个活动调用另一个活动,同时向其发送简单数据

在目的地活动中,我们检查捆绑包。如果存在,则打开源活动中的bundle数据。 现在,如果我们想将复杂的数据类型(如定义的类对象)传递给另一个活动,该怎么办?为了满足这一需求,我们可以在Android中使用Parcelable


Parcelable是类的接口,因此实现Parcelable的类可以写入和读取地块。地块形式的数据可以在两个线程之间传递。Parcel本身是一个能够序列化和反序列化类对象的类。

是的,我同意,但我的观点是,当您可以像普通java一样简单地通过静态方法传递对象时,需要这样做。静态方法可以为您完成这项工作,但在这种情况下不建议使用它们。这是使用意图在活动之间传递对象时的常见编程模式,因为意图实际上是为了完成该任务。正如@kalyan所说,使用静态方法可能会增加内存使用。@mohitharma您应该首先阅读有关对象变量和类变量的内容。阅读差异。这是你困惑的主要原因…@basant_matharu:我完全同意你的观点,这是Android编程而不是java编程,因此我们很少会有不同的做法,但我找不到任何官方文件建议我这样做。。检查我曾经共享过的链接,是的,静态方法会增加内存使用率,但创建parcelable会给我的应用程序增加负载(比序列化小得多)@MohitSharma你说得对,如果你传递的是小对象,parcelable就很好了。。
YourClass object = (YourClass) getIntent().getExtras().getParcelableExtra("name");