Android Guides | Samples

Android.App.Application.OnLowMemory Method

This is called when the overall system is running low on memory, and actively running processes should trim their memory usage.

Syntax

[Android.Runtime.Register("onLowMemory", "()V", "GetOnLowMemoryHandler")]
public virtual void OnLowMemory ()

Remarks

This is called when the overall system is running low on memory, and actively running processes should trim their memory usage. While the exact point at which this will be called is not defined, generally it will happen when all background process have been killed. That is, before reaching the point of killing processes hosting service and foreground UI that we would like to avoid killing.

You should implement this method to release any caches or other unnecessary resources you may be holding on to. The system will perform a garbage collection for you after returning from this method.

Preferably, you should implement Android.Content.ComponentCallbacks2.onTrimMemory(int) from ComponentCallbacks2 to incrementally unload your resources based on various levels of memory demands. That API is available for API level 14 and higher, so you should only use this IComponentCallbacks.OnLowMemory method as a fallback for older versions, which can be treated the same as Android.Content.ComponentCallbacks2.onTrimMemory(int) with the ComponentCallbacks2.TrimMemoryComplete level.

[Android Documentation]

Requirements

Namespace: Android.App
Assembly: Mono.Android (in Mono.Android.dll)
Assembly Versions: 0.0.0.0
Since: Added in API level 1