标签:create dia 设置 系统进程 分区 共享 自定义类 str 保留
Parcelable
并且Bundle
对象旨在用于跨IPC / Binder
事务等进程边界,活动与意图之间以及跨配置更改存储瞬态。本页面提供使用Parcelable
和Bundle
对象的建议和最佳实践 。
当应用程序创建一个Intent
用于startActivity(android.content.Intent)
启动新Activity
的对象时 ,应用程序可以使用该putExtra(java.lang.String, java.lang.String)
方法传入参数。
Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("media_id", "a1b2c3");
// ...
startActivity(intent);
OS Bundle包含意图的基础。然后,操作系统创建新的活动,取消数据包裹,并将意图传递给新活动
Bundle
该类在Intent
对象上设置操作系统已知的基元。Bundle
类可以有效处理编组和解组Parcelable
接口 + 提供writeToParcel(android.os.Parcel, int)
方法Parcelable.Creator
接口,该接口的 createFromParcel()
方法用于将Parcel
后退转换为当前对象1-10kb
Parcelable
对象从一个应用程序发送到另一个应用程序,则需要确保发送应用程序和接收应用程序都具有完全相同的自定义类别版本。通常这可能是跨两个应用程序使用的通用库。如果您的应用程序尝试向系统发送自定义parcelable
,则会发生错误,因为系统无法解组它不知道的类。Binder
事务缓冲区具有有限的固定大小,当前为1MB,由进程中的所有事务共享。由于此限制处于流程级别而非每个活动级别,因此这些事务包括应用程序中的所有绑定事务,例如onSaveInstanceState,startActivity
和与系统的任何交互。当超过大小限制时,将引发TransactionTooLargeException
。savedInstanceState
的具体情况,数据量应该保持很小,因为只要用户可以导航回该活动(即使活动的进程被终止),系统进程也需要保留提供的数据。我们建议您将保存状态保持为小于50k的数据。Android Studio教程05-Parcelables和Bundles.md
标签:create dia 设置 系统进程 分区 共享 自定义类 str 保留
原文地址:https://www.cnblogs.com/haochen273/p/10281207.html