public interface

MemoryChunk

com.facebook.imagepipeline.memory.MemoryChunk
Known Indirect Subclasses

Summary

Public Methods
abstract void close()
This has to be called before we get rid of this object in order to release underlying memory
abstract void copy(int offset, MemoryChunk other, int otherOffset, int count)
Copy bytes from buffer memory wrapped by this MemoryChunk instance to buffer memory wrapped by another MemoryChunk.
abstract ByteBuffer getByteBuffer()
Gets the ByteBuffer associated with the memory chunk if available, else null.
abstract long getNativePtr()
Gets the pointer the native memory.
abstract int getSize()
Get the size of this memory chunk.
abstract long getUniqueId()
Gets the unique identifier associated with the memory chunk.
abstract boolean isClosed()
Check if this chunk is already closed
abstract int read(int memoryOffset, byte[] byteArray, int byteArrayOffset, int count)
Copy bytes from memory to byte array.
abstract byte read(int offset)
Read byte at given offset.
abstract int write(int memoryOffset, byte[] byteArray, int byteArrayOffset, int count)
Copy bytes from byte array to buffer.

Public Methods

public abstract void close ()

This has to be called before we get rid of this object in order to release underlying memory

public abstract void copy (int offset, MemoryChunk other, int otherOffset, int count)

Copy bytes from buffer memory wrapped by this MemoryChunk instance to buffer memory wrapped by another MemoryChunk. The two MemoryChunks should have the same type.

Parameters
offset number of first byte to copy
other other MemoryChunk to copy to
otherOffset number of first byte to write to
count number of bytes to copy
Throws
IllegalArgumentException if the memory chunks don't have the same type

public abstract ByteBuffer getByteBuffer ()

Gets the ByteBuffer associated with the memory chunk if available, else null.

public abstract long getNativePtr ()

Gets the pointer the native memory.

Throws
UnsupportedOperationException if the memory chunk is not in native memory

public abstract int getSize ()

Get the size of this memory chunk. Ignores if this chunk has been closed

public abstract long getUniqueId ()

Gets the unique identifier associated with the memory chunk.

public abstract boolean isClosed ()

Check if this chunk is already closed

Returns
  • true, if this chunk has already been closed

public abstract int read (int memoryOffset, byte[] byteArray, int byteArrayOffset, int count)

Copy bytes from memory to byte array.

Parameters
memoryOffset number of first byte to copy
byteArray byte array to copy to
byteArrayOffset number of first byte in byte array to be written
count number of bytes to copy
Returns
  • number of bytes read

public abstract byte read (int offset)

Read byte at given offset.

Parameters
offset The offset from which the byte will be read
Returns
  • byte at given offset

public abstract int write (int memoryOffset, byte[] byteArray, int byteArrayOffset, int count)

Copy bytes from byte array to buffer.

Parameters
memoryOffset number of first byte to be written by copy operation
byteArray byte array to copy from
byteArrayOffset number of first byte in byteArray to copy
count number of bytes to copy
Returns
  • number of bytes written