MemoryFile
public
class
MemoryFile
extends Object
java.lang.Object | |
↳ | android.os.MemoryFile |
MemoryFile is a wrapper for SharedMemory
which can optionally be set to purgeable.
Applications should generally prefer to use SharedMemory
which offers more flexible
access & control over the shared memory region than MemoryFile does.
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 | |
---|---|
MemoryFile(String name, int length)
Allocates a new ashmem region. |
Public methods | |
---|---|
boolean
|
allowPurging(boolean allowPurging)
This method was deprecated
in API level 27.
Purgable is considered generally fragile and hard to use safely. Applications
are recommend to instead use |
void
|
close()
Closes the memory file. |
InputStream
|
getInputStream()
Creates a new InputStream for reading from the memory file. |
OutputStream
|
getOutputStream()
Creates a new OutputStream for writing to the memory file. |
boolean
|
isPurgingAllowed()
This method was deprecated
in API level 27.
Purgable is considered generally fragile and hard to use safely. Applications
are recommend to instead use |
int
|
length()
Returns the length of the memory file. |
int
|
readBytes(byte[] buffer, int srcOffset, int destOffset, int count)
Reads bytes from the memory file. |
void
|
writeBytes(byte[] buffer, int srcOffset, int destOffset, int count)
Write bytes to the memory file. |
Inherited methods | |
---|---|
Public constructors
MemoryFile
public MemoryFile (String name, int length)
Allocates a new ashmem region. The region is initially not purgable.
Parameters | |
---|---|
name |
String : optional name for the file (can be null). |
length |
int : of the memory file in bytes, must be positive. |
Throws | |
---|---|
IOException |
if the memory file could not be created. |
Public methods
allowPurging
public boolean allowPurging (boolean allowPurging)
This method was deprecated
in API level 27.
Purgable is considered generally fragile and hard to use safely. Applications
are recommend to instead use ComponentCallbacks2.onTrimMemory(int)
to react to memory events and release shared memory regions as appropriate.
Enables or disables purging of the memory file.
Parameters | |
---|---|
allowPurging |
boolean : true if the operating system can purge the contents
of the file in low memory situations |
Returns | |
---|---|
boolean |
previous value of allowPurging |
Throws | |
---|---|
IOException |
close
public void close ()
Closes the memory file. If there are no other open references to the memory file, it will be deleted.
getInputStream
public InputStream getInputStream ()
Creates a new InputStream for reading from the memory file.
Returns | |
---|---|
InputStream |
InputStream |
getOutputStream
public OutputStream getOutputStream ()
Creates a new OutputStream for writing to the memory file.
Returns | |
---|---|
OutputStream |
OutputStream |
isPurgingAllowed
public boolean isPurgingAllowed ()
This method was deprecated
in API level 27.
Purgable is considered generally fragile and hard to use safely. Applications
are recommend to instead use ComponentCallbacks2.onTrimMemory(int)
to react to memory events and release shared memory regions as appropriate.
Is memory file purging enabled?
Returns | |
---|---|
boolean |
true if the file may be purged. |
length
public int length ()
Returns the length of the memory file.
Returns | |
---|---|
int |
file length. |
readBytes
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 : byte array to read bytes into. |
srcOffset |
int : offset into the memory file to read from. |
destOffset |
int : offset into the byte array buffer to read into. |
count |
int : number of bytes to read. |
Returns | |
---|---|
int |
number of bytes read. |
Throws | |
---|---|
IOException |
if the memory file has been purged or deactivated. |
writeBytes
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 : byte array to write bytes from. |
srcOffset |
int : offset into the byte array buffer to write from. |
destOffset |
int : offset into the memory file to write to. |
count |
int : number of bytes to write. |
Throws | |
---|---|
IOException |
if the memory file has been purged or deactivated. |