有谁知道在哪里/当Parcelable的调用此方法?
@Override
public int describeContents() {
return 0;
}
它必须重写。 但是,我应该考虑做一些与它有用吗?
有谁知道在哪里/当Parcelable的调用此方法?
@Override
public int describeContents() {
return 0;
}
它必须重写。 但是,我应该考虑做一些与它有用吗?
有在规定的恒定Parcelable
称为CONTENTS_FILE_DESCRIPTOR
这是指在所使用describeContents()
来创建位掩码返回值。
为说明CONTENTS_FILE_DESCRIPTOR
在API参考是:
与describeContents()使用位掩码:每一位代表的是一种被认为编组时,有潜在的具有特殊意义的对象。
其真正含义是:如果你需要把FileDescriptor
对象到Parcelable你应该/必须指定CONTENTS_FILE_DESCRIPTOR
为describeContents()的返回值,通过“ 特殊对象 ”,即(在describeContents()
的说明),他们真的是: FileDescriptor
。
这整个Parcelable功能看起来未完成(读:有坏的设计)。 有一个在文档另一个奇怪的事情:
实现Parcelable接口的类也必须有一个名为CREATOR静态字段,这是一个实现了Parcelable.Creator接口的对象
在人类可读的形式来实现所定义的规则由多继承? :-)
这似乎是C ++程序员设计Parceable
并在某些时候他才意识到:哦,该死的,有在Java中没有多重继承... :-)
只有两种可能的数值0或CONTENTS_FILE_DESCRIPTOR
如果你是序列化POLO,这个值应该始终为0,则CONTENTS_FILE_DESCRIPTOR保留给ParcelFileDescriptor ,这可能在序列* UNIX系统中的文件描述符(FD)。