android.os.MemoryFile
MemoryFile is a wrapper for the Linux ashmem driver.
MemoryFiles are backed by shared memory, which can be optionally
set to be purgeable.
Purgeable files may have their contents reclaimed by the kernel
in low memory conditions (only if allowPurging is set to true).
After a file is purged, attempts to read or write the file will
cause an IOException to be thrown.
Summary
Public Constructors
Public Methods
Protected Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Public Constructors
public
MemoryFile(String name, int length)
MemoryFile constructor.
Parameters
name
| optional name for the file (can be null). |
length
| of the memory file in bytes.
|
Public Methods
public
synchronized
boolean
allowPurging(boolean allowPurging)
Enables or disables purging of the memory file.
Parameters
allowPurging
| true if the operating system can purge the contents
of the file in low memory situations |
Returns
- previous value of allowPurging
public
void
close()
Closes and releases all resources for the memory file.
public
InputStream
getInputStream()
Creates a new InputStream for reading from the memory file.
public
OutputStream
getOutputStream()
Creates a new OutputStream for writing to the memory file.
public
boolean
isPurgingAllowed()
Is memory file purging enabled?
Returns
- true if the file may be purged.
public
int
length()
Returns the length of the memory file.
public
int
readBytes(byte[] buffer, int srcOffset, int destOffset, int count)
Reads bytes from the memory file.
Will throw an IOException if the file has been purged.
Parameters
buffer
| byte array to read bytes into. |
srcOffset
| offset into the memory file to read from. |
destOffset
| offset into the byte array buffer to read into. |
count
| number of bytes to read. |
public
void
writeBytes(byte[] buffer, int srcOffset, int destOffset, int count)
Write bytes to the memory file.
Will throw an IOException if the file has been purged.
Parameters
buffer
| byte array to write bytes from. |
srcOffset
| offset into the byte array buffer to write from. |
destOffset
| offset into the memory file to write to. |
count
| number of bytes to write.
|
Protected Methods
protected
void
finalize()
Called by the virtual machine when there are no longer any (non-weak)
references to the receiver. Subclasses can use this facility to guarantee
that any associated resources are cleaned up before the receiver is
garbage collected. Uncaught exceptions which are thrown during the
running of the method cause it to terminate immediately, but are
otherwise ignored.
Note: The virtual machine assumes that the implementation in class Object
is empty.