cod*_*ody 91 android parcel parcelable
有谁知道调用Parcelable的这种方法的位置/时间?
@Override
public int describeContents() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它必须被覆盖.但是,我应该考虑做一些有用的事情吗?
Ogn*_*yan 179
在被Parcelable
调用CONTENTS_FILE_DESCRIPTOR
中定义了一个常量,用于describeContents()
创建位掩码返回值.
API参考CONTENTS_FILE_DESCRIPTOR
中的描述是:
与describeContents()一起使用的位掩码:每个位代表一种在编组时被认为具有潜在特殊意义的对象.
这实际上意味着:如果你需要将FileDescriptor
对象放入Parcelable,你应该/必须指定CONTENTS_FILE_DESCRIPTOR
为describeContents()的返回值,即通过" 特殊对象 "(在describeContents()
描述中)它们的真正含义:FileDescriptor
.
整个Parcelable功能看起来未完成(阅读:设计不好).文档中还有一个奇怪的事情:
实现Parcelable接口的类还必须有一个名为CREATOR的静态字段,它是一个实现Parcelable.Creator接口的对象
通过以人类可读形式定义的规则实现多重继承?:-)
看起来像C++程序员设计Parceable
并且在某些时候他意识到:哦,该死的,Java中没有多重继承...... :-)
bow*_*han 10
只有两个可能的值,0 或 CONTENTS_FILE_DESCRIPTOR
如果您正在序列化 POLO,则该值应始终为 0,CONTENTS_FILE_DESCRIPTOR 保留给ParcelFileDescriptor,它可以在 *unix 系统中序列化文件描述符(FD)。