android.content.ComponentCallbacks2 |
Known Indirect Subclasses |
Extended ComponentCallbacks
interface with a new callback for
finer-grained memory management.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | TRIM_MEMORY_BACKGROUND | Level for onTrimMemory(int) : the process has gone on to the
LRU list. |
|||||||||
int | TRIM_MEMORY_COMPLETE | Level for onTrimMemory(int) : the process is nearing the end
of the background LRU list, and if more memory isn't found soon it will
be killed. |
|||||||||
int | TRIM_MEMORY_MODERATE | Level for onTrimMemory(int) : the process is around the middle
of the background LRU list; freeing memory can help the system keep
other processes running later in the list for better overall performance. |
|||||||||
int | TRIM_MEMORY_RUNNING_CRITICAL | Level for onTrimMemory(int) : the process is not an expendable
background process, but the device is running extremely low on memory
and is about to not be able to keep any background processes running. |
|||||||||
int | TRIM_MEMORY_RUNNING_LOW | Level for onTrimMemory(int) : the process is not an expendable
background process, but the device is running low on memory. |
|||||||||
int | TRIM_MEMORY_RUNNING_MODERATE | Level for onTrimMemory(int) : the process is not an expendable
background process, but the device is running moderately low on memory. |
|||||||||
int | TRIM_MEMORY_UI_HIDDEN | Level for onTrimMemory(int) : the process had been showing
a user interface, and is no longer doing so. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Called when the operating system has determined that it is a good
time for a process to trim unneeded memory from its process.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
android.content.ComponentCallbacks
|
Level for onTrimMemory(int)
: the process has gone on to the
LRU list. This is a good opportunity to clean up resources that can
efficiently and quickly be re-built if the user returns to the app.
Level for onTrimMemory(int)
: the process is nearing the end
of the background LRU list, and if more memory isn't found soon it will
be killed.
Level for onTrimMemory(int)
: the process is around the middle
of the background LRU list; freeing memory can help the system keep
other processes running later in the list for better overall performance.
Level for onTrimMemory(int)
: the process is not an expendable
background process, but the device is running extremely low on memory
and is about to not be able to keep any background processes running.
Your running process should free up as many non-critical resources as it
can to allow that memory to be used elsewhere. The next thing that
will happen after this is onLowMemory()
called to report that
nothing at all can be kept in the background, a situation that can start
to notably impact the user.
Level for onTrimMemory(int)
: the process is not an expendable
background process, but the device is running low on memory.
Your running process should free up unneeded resources to allow that
memory to be used elsewhere.
Level for onTrimMemory(int)
: the process is not an expendable
background process, but the device is running moderately low on memory.
Your running process may want to release some unneeded resources for
use elsewhere.
Level for onTrimMemory(int)
: the process had been showing
a user interface, and is no longer doing so. Large allocations with
the UI should be released at this point to allow memory to be better
managed.
Called when the operating system has determined that it is a good time for a process to trim unneeded memory from its process. This will happen for example when it goes in the background and there is not enough memory to keep as many background processes running as desired. You should never compare to exact values of the level, since new intermediate values may be added -- you will typically want to compare if the value is greater or equal to a level you are interested in.
To retrieve the processes current trim level at any point, you can
use ActivityManager.getMyMemoryState(RunningAppProcessInfo)
.
level | The context of the trim, giving a hint of the amount of
trimming the application may like to perform. May be
TRIM_MEMORY_COMPLETE , TRIM_MEMORY_MODERATE ,
TRIM_MEMORY_BACKGROUND , TRIM_MEMORY_UI_HIDDEN ,
TRIM_MEMORY_RUNNING_CRITICAL , TRIM_MEMORY_RUNNING_LOW ,
or TRIM_MEMORY_RUNNING_MODERATE .
|
---|