MappedByteBuffer 类

定义

一个直接字节缓冲区,其内容是文件的内存映射区域。

[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

返回此 Object的运行时类。

(继承自 Object)
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 值 <a0/&nbsp 的相对 put 方法;&nbsp;(可选操作)

(继承自 ByteBuffer)
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)

用于编写短值 <a0/&nbsp 的相对 put 方法;&nbsp;(可选操作)

(继承自 ByteBuffer)
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)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

一个直接字节缓冲区,其内容是文件的内存映射区域。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于