parcelable where / when是describeContents()使用?
有没有人知道这个Parcelable的方法在哪里/何时被调用?
@Override public int describeContents() { return 0; }
它必须被覆盖。 但是,我应该考虑做一些有用的东西吗?
在Parcelable
定义了一个名为CONTENTS_FILE_DESCRIPTOR
Parcelable
,用于describeContents()
创build位掩码返回值。
API参考中 CONTENTS_FILE_DESCRIPTOR
描述是:
用于describeContents()的位掩码:每个位代表一种在编组时被认为具有潜在特殊意义的对象。
这意味着:如果需要将FileDescriptor
对象放入Parcelable中,您应该/必须指定CONTENTS_FILE_DESCRIPTOR
作为describeContents()的返回值,即通过“ 特殊对象 ”(在describeContents()
的描述中)来指定: FileDescriptor
。
这整个Parcelablefunction看起来没有完成(阅读:有坏devise)。 文档中还有一件奇怪的事情:
实现Parcelable接口的类还必须有一个名为CREATOR的静态字段,它是实现Parcelable.Creator接口的对象
通过以可读forms定义的规则实现多重inheritance? 🙂
看起来像C ++程序员devise的Parceable
并在某个时候,他意识到:哦,该死的,Java中没有多重inheritance… 🙂
只有两个可能的值,0或CONTENTS_FILE_DESCRIPTOR
如果您正在序列化POLO,则此值应始终为0,而CONTENTS_FILE_DESCRIPTOR则反转为ParcelFileDescriptor ,此序列化可在* unix系统中序列化文件描述符(FD)。
- 缩放图像保持其纵横比在后台可绘制
- 如何使用isInEditMode()在编辑器中查看具有自定义视图的布局
- android.content.res.Resources $ NotFoundException:string资源ID#0x0
- 在Android中使用URI生成器或使用variables创buildURL
- 在Android中检测应用程序堆大小
- 我如何设置Vim的Android开发?
- Volley – POST / GET参数
- 警告:与依赖冲突com.android.support:support-annotations'
- 了解使用ColorMatrix和ColorMatrixColorFilter来修改Drawable的色调