Android的Parcelable中describeContents方法的作用
2016-04-11 20:44
573 查看
这个方法返回的值通常为0,那什么情况下需要填写其他值呢?
这个方法到目前为止返回其他唯一有效的值就是CONTENTS_FILE_DESCRIPTOR(0x01),指明这个Parcel的内容包含文件描述符。DropBoxManager、ParcelFileDescriptor和InputChannel等用到这个值。
那文件描述符是什么呢?获取到文件描述符能做什么呢?大家知道在类UNIX系统中,一切皆是文件,文件描述符就是操作文件的数据结构,获取到文件描述符可以完成所有文件相关的操作。
因为文件描述符的作用如此之大,为了防止leak,需要禁止在Bundle传输Parcel时包含文件描述符,所以通过Parcel中包含ParcelFileDescriptor等在Bundle中使用时会抛出IllegalArgumentException。
所以,这个值是在系统内部进行安全保护所使用的,其他情况下填0即可。
这个方法到目前为止返回其他唯一有效的值就是CONTENTS_FILE_DESCRIPTOR(0x01),指明这个Parcel的内容包含文件描述符。DropBoxManager、ParcelFileDescriptor和InputChannel等用到这个值。
那文件描述符是什么呢?获取到文件描述符能做什么呢?大家知道在类UNIX系统中,一切皆是文件,文件描述符就是操作文件的数据结构,获取到文件描述符可以完成所有文件相关的操作。
因为文件描述符的作用如此之大,为了防止leak,需要禁止在Bundle传输Parcel时包含文件描述符,所以通过Parcel中包含ParcelFileDescriptor等在Bundle中使用时会抛出IllegalArgumentException。
所以,这个值是在系统内部进行安全保护所使用的,其他情况下填0即可。
相关文章推荐
- android常见漏洞
- Android APK反编译就这么简单 详解(附图)
- Android反编译 -- 错误代码还原
- Android反编译 -- 错误代码还原
- Android开源项目分包方式学习(eoe、oschina、github)
- Android学习笔记之ListView
- Android IPC机制(三):浅谈Binder的使用
- BlockCanary分析android卡顿
- Android Design Support之scroll 初探
- java/android中对回调函数深入灵魂的理解
- Android 文件操作
- android studio "android() not found"
- Android屏幕内容制作成GIF图方式
- android api汇集
- android 关于textview跑马灯的问题解决方案
- 第四章、View的工作原理
- 解决com.android.volley.NoConnection error, java.io.InterruptedIOException
- 第三章View的事件体系
- Android ImageView scaleType属性
- Android获取手机屏幕的宽高