MappedByteBuffer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个直接字节缓冲区,其内容是文件的内存映射区域。
[Android.Runtime.Register("java/nio/MappedByteBuffer", DoNotGenerateAcw=true)]
public abstract class MappedByteBuffer : Java.Nio.ByteBuffer
[<Android.Runtime.Register("java/nio/MappedByteBuffer", DoNotGenerateAcw=true)>]
type MappedByteBuffer = class
inherit ByteBuffer
- 继承
- 属性
注解
一个直接字节缓冲区,其内容是文件的内存映射区域。
映射的字节缓冲区是通过 java.nio.channels.FileChannel#map FileChannel.map 该方法创建的。 此类使用 ByteBuffer 特定于内存映射文件区域的操作扩展类。
映射的字节缓冲区及其表示的文件映射在垃圾回收之前保持有效。
映射字节缓冲区的内容可以随时更改,例如,如果映射文件的相应区域的内容由此程序或其他区域更改。 是否发生此类更改,以及发生此类更改时是否依赖于操作系统,因此不受指定。
“inaccess”>
映射字节缓冲区的所有或部分随时可能不可访问,例如,如果已映射的文件被截断。 尝试访问映射字节缓冲区的不可访问区域不会更改缓冲区的内容,并且将导致在访问时或稍后引发未指定的异常。 因此,强烈建议采取适当的预防措施,以避免通过此程序或并发运行的程序操作映射文件,但读取或写入文件的内容除外。
映射字节缓冲区的行为与其他普通直接字节缓冲区不同。
在 1.4 中添加。
适用于 . 的 java.nio.MappedByteBufferJava 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
| 名称 | 说明 |
|---|---|
| MappedByteBuffer(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
| 名称 | 说明 |
|---|---|
| Char |
返回当前位置的字符,并将位置增加 2。 (继承自 ByteBuffer) |
| Class |
返回此 |
| Double |
返回当前位置的双精度值,并将位置增加 8。 (继承自 ByteBuffer) |
| Float |
返回当前位置的浮点数,并将位置增加 4。 (继承自 ByteBuffer) |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| HasArray |
指示此缓冲区是否由可访问的字节数组提供支持。 (继承自 ByteBuffer) |
| HasRemaining |
指示当前位置和限制之间是否存在任何元素。 (继承自 Buffer) |
| Int |
返回当前位置的 int,并将位置增加 4。 (继承自 ByteBuffer) |
| IsDirect |
如果这是直接缓冲区,则返回 true。 (继承自 Buffer) |
| IsLoaded |
指示此缓冲区的内容是否驻留在物理内存中。 |
| IsReadOnly |
指示此缓冲区是否为只读。 (继承自 Buffer) |
| JniIdentityHashCode |
获取互操作运行时分配给此Java对等的标识哈希代码。 (继承自 Object) |
| JniManagedPeerState |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| JniPeerMembers |
一个直接字节缓冲区,其内容是文件的内存映射区域。 |
| Long |
返回当前位置的长值,并将位置增加 8。 (继承自 ByteBuffer) |
| PeerReference |
获取此Java对等方的 JNI 对象引用。 (继承自 Object) |
| Short |
返回当前位置的短值,并将位置增加 2。 (继承自 ByteBuffer) |
| ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
| ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
| 名称 | 说明 |
|---|---|
| AlignedSlice(Int32) |
创建一个新的字节缓冲区,其内容是此缓冲区内容的共享和对齐子序列。 (继承自 ByteBuffer) |
| AlignmentOffset(Int32, Int32) |
返回内存地址,指向给定索引处的字节,以调整给定单位大小。 (继承自 ByteBuffer) |
| ArrayOffset() |
返回缓冲区第一个元素的缓冲区后盾数组中的偏移量; (可选操作) 。 (继承自 ByteBuffer) |
| AsCharBuffer() |
创建此字节缓冲区的视图作为字符缓冲区。 (继承自 ByteBuffer) |
| AsDoubleBuffer() |
创建此字节缓冲区的视图作为双缓冲区。 (继承自 ByteBuffer) |
| AsFloatBuffer() |
创建此字节缓冲区的视图作为浮点缓冲区。 (继承自 ByteBuffer) |
| AsIntBuffer() |
创建此字节缓冲区的视图作为 int 缓冲区。 (继承自 ByteBuffer) |
| AsLongBuffer() |
创建此字节缓冲区作为长缓冲区的视图。 (继承自 ByteBuffer) |
| AsReadOnlyBuffer() |
创建共享此缓冲区内容的新只读字节缓冲区。 (继承自 ByteBuffer) |
| AsShortBuffer() |
创建此字节缓冲区的视图作为短缓冲区。 (继承自 ByteBuffer) |
| Capacity() |
返回此缓冲区的容量。 (继承自 Buffer) |
| Clear() |
清除此缓冲区。 |
| Clear() |
清除此缓冲区。 (继承自 Buffer) |
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| Compact() |
压缩此缓冲区(可选操作)。 |
| Compact() |
压缩此缓冲区 (可选操作) 。 (继承自 ByteBuffer) |
| CompareTo(ByteBuffer) |
将此缓冲区与另一个缓冲区进行比较。 (继承自 ByteBuffer) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| Dispose() |
释放此Java对等方持有的资源。 (继承自 Object) |
| Dispose(Boolean) |
释放此Java对等方持有的资源。 (继承自 Object) |
| DisposeUnlessReferenced() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| Duplicate() |
创建共享此缓冲区内容的新字节缓冲区。 |
| Equals(Object) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| Flip() |
翻转此缓冲区。 |
| Flip() |
翻转此缓冲区。 (继承自 Buffer) |
| Force() |
强制对此缓冲区内容所做的任何更改写入包含映射文件的存储设备。 |
| Force(Int32, Int32) |
强制对此缓冲区内容区域进行任何更改,以写入包含映射文件的存储设备。 |
| ForceAsync() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 |
| ForceAsync(Int32, Int32) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 |
| Get() |
相对 get 方法。 (继承自 ByteBuffer) |
| Get(Byte[], Int32, Int32) |
相对批量 获取 方法。 (继承自 ByteBuffer) |
| Get(Byte[]) |
相对批量 获取 方法。 (继承自 ByteBuffer) |
| Get(Int32, Byte[], Int32, Int32) |
绝对批量 获取 方法。 (继承自 ByteBuffer) |
| Get(Int32, Byte[]) |
绝对批量 获取 方法。 (继承自 ByteBuffer) |
| Get(Int32) |
绝对 get 方法。 (继承自 ByteBuffer) |
| GetChar(Int32) |
用于读取字符值的绝对 get 方法。 (继承自 ByteBuffer) |
| GetDirectBufferAddress() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 Buffer) |
| GetDouble(Int32) |
用于读取双精度值的绝对 get 方法。 (继承自 ByteBuffer) |
| GetFloat(Int32) |
用于读取浮点值的绝对 get 方法。 (继承自 ByteBuffer) |
| GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
| GetInt(Int32) |
用于读取 int 值的绝对 get 方法。 (继承自 ByteBuffer) |
| GetLong(Int32) |
用于读取长值的绝对 get 方法。 (继承自 ByteBuffer) |
| GetShort(Int32) |
用于读取短值的绝对 get 方法。 (继承自 ByteBuffer) |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| Limit() |
返回此缓冲区的限制。 (继承自 Buffer) |
| Limit(Int32) |
要添加 |
| Limit(Int32) |
设置此缓冲区的限制。 (继承自 Buffer) |
| Load() |
将此缓冲区的内容加载到物理内存中。 |
| LoadAsync() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 |
| Mark() |
要添加 |
| Mark() |
设置此缓冲区在其位置处的标记。 (继承自 Buffer) |
| Mismatch(ByteBuffer) |
查找并返回此缓冲区与给定缓冲区之间的第一个不匹配的相对索引。 (继承自 ByteBuffer) |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| Order() |
检索此缓冲区的字节顺序。 (继承自 ByteBuffer) |
| Order(ByteOrder) |
修改此缓冲区的字节顺序。 (继承自 ByteBuffer) |
| Position() |
返回此缓冲区的位置。 (继承自 Buffer) |
| Position(Int32) |
要添加 |
| Position(Int32) |
设置此缓冲区的位置。 (继承自 Buffer) |
| Put(Byte[], Int32, Int32) |
相对批量 放置 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(Byte[]) |
相对批量 放置 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(ByteBuffer) |
相对批量 放置 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(Int32, Byte[], Int32, Int32) |
绝对批量 放置 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(Int32, Byte[]) |
绝对批量 放置 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(Int32, ByteBuffer, Int32, Int32) |
绝对批量 放置 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(Int32, SByte) |
Absolute put 方法 (可选操作) 。 (继承自 ByteBuffer) |
| Put(SByte) |
Relative put 方法 (可选操作) 。 (继承自 ByteBuffer) |
| PutChar(Char) |
用于编写 char 值 < |
| PutChar(Int32, Char) |
用于编写 char value 的绝对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutDouble(Double) |
用于编写双值 nbsp 的相对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutDouble(Int32, Double) |
用于编写双值 nbsp 的绝对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutFloat(Int32, Single) |
用于编写浮点值的绝对 put 方法 (可选操作) 。 (继承自 ByteBuffer) |
| PutFloat(Single) |
用于编写浮点值的相对 put 方法 (可选操作) 。 (继承自 ByteBuffer) |
| PutInt(Int32, Int32) |
用于编写 int value 的绝对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutInt(Int32) |
用于编写 int value 的相对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutLong(Int32, Int64) |
用于编写长值 nbsp 的绝对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutLong(Int64) |
用于编写长值 nbsp 的相对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| PutShort(Int16) |
用于编写短值 < |
| PutShort(Int32, Int16) |
用于编写短值 nbsp 的绝对 put 方法; (可选操作) 。 (继承自 ByteBuffer) |
| Remaining() |
返回当前位置和限制之间的元素数。 (继承自 Buffer) |
| Reset() |
要添加 |
| Reset() |
将此缓冲区的位置重置为以前标记的位置。 (继承自 Buffer) |
| Rewind() |
要添加 |
| Rewind() |
回退此缓冲区。 (继承自 Buffer) |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| Slice() |
要添加 |
| Slice(Int32, Int32) |
要添加 |
| ToArray<T>() |
从此Java数组包装器创建托管数组。 (继承自 Object) |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
从互操作运行时取消注册此Java对等。 (继承自 Object) |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IComparable.CompareTo(Object) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 ByteBuffer) |
| IJavaPeerable.Disposed() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| IJavaPeerable.Finalized() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
一个直接字节缓冲区,其内容是文件的内存映射区域。 (继承自 ByteBuffer) |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
一个直接字节缓冲区,其内容是文件的内存映射区域。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |