android学习笔记:activity(5)

1.parcelable和bundle对象可跨进程边界使用,例如与IPC/Binder事务之间,带有intent的activity之间等,还可以用来存储跨配置更改的瞬时状态

2.当使用intent对象进行数据传递时,操作系统会将intent的基础bundle打包。然后,操作系统会创建新的activity,将数据拆包,并将intent传递给新的activity。(建议使用bundle类为intent对象设置操作系统已知的基元)(通过intent发送数据时,应小心地将数据大小限制为几kb。发送过多的数据会导致系统抛出TransactionTooLargeException异常)

3.在某些情况下,需要一种机制来跨activity发送复合对象或复杂对象。这种情况下,自定义类实现parcelable,并提供相应的writeToParcel(android.os.Parcel,int)方法。它还必须提供实现parcelable.creator接口的非空字段CREATOR,该接口的createFromParcel()方法用于将parcel转回为当前对象。

4.在进程之间发送数据与在activity之间发送数据类似,不过在进程之间发送时,尽量不适用自定义parcelable。如果一定要使用,则一定要确保发送和接受的应用上都存在版本完全相同的自定义类

5.Binder事务缓存区的大小固定有限制,目前为1MB,由进程中正在处理的所有事务共享。由于此限制是进程级别而不是activity级别的限制,因此这些事务包括应用中的所有binder事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值