gpt4 book ai didi

android - 可在哪里/何时使用 describeContents()?

转载 作者:IT老高 更新时间:2023-10-28 13:06:48 28 4
gpt4 key购买 nike

有谁知道Parcelable的这个方法在哪里/何时被调用?

@Override
public int describeContents() {
return 0;
}

它必须被覆盖。但是我应该考虑用它做一些有用的事情吗?

最佳答案

Parcelable 中定义了一个名为 CONTENTS_FILE_DESCRIPTOR 的常量,用于在 describeContents() 中创建位掩码返回值。

API refCONTENTS_FILE_DESCRIPTOR 的描述是:

Bit masks for use with describeContents(): each bit represents a kind of object considered to have potential special significance when marshalled.

这实际上意味着:如果您需要将 FileDescriptor 对象放入 Parcelable,您应该/必须指定 CONTENTS_FILE_DESCRIPTOR 作为 describeContents() 的返回值,即通过“特殊对象”(在 describeContents() 的描述中)它们的真正意思是:FileDescriptor

整个Parcelable 功能看起来还没有完成(阅读:设计不佳)。文档中还有另一件奇怪的事情:

Classes implementing the Parcelable interface must also have a static field called CREATOR, which is an object implementing the Parcelable.Creator interface

通过以人类可读形式定义的规则实现多重继承? :-)

似乎 C++ 程序员设计了 Parceable 并且在某些时候他意识到:哦,该死的,Java 中没有多重继承...... :-)

关于android - 可在哪里/何时使用 describeContents()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4076946/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com