to top
Android APIs
Added in API level 1
public interface

ComponentCallbacks

android.content.ComponentCallbacks
Known Indirect Subclasses

Class Overview

The set of callback APIs that are common to all application components (Activity, Service, ContentProvider, and Application).

Note: You should also implement the ComponentCallbacks2 interface, which provides the onTrimMemory(int) callback to help your app manage its memory usage more effectively.

Summary

Public Methods
abstract void onConfigurationChanged(Configuration newConfig)
Called by the system when the device configuration changes while your component is running.
abstract void onLowMemory()
This is called when the overall system is running low on memory, and actively running processes should trim their memory usage.

Public Methods

public abstract void onConfigurationChanged (Configuration newConfig)

Added in API level 1

Called by the system when the device configuration changes while your component is running. Note that, unlike activities, other components are never restarted when a configuration changes: they must always deal with the results of the change, such as by re-retrieving resources.

At the time that this function has been called, your Resources object will have been updated to return resource values matching the new configuration.

For more information, read Handling Runtime Changes.

Parameters
newConfig The new device configuration.

public abstract void onLowMemory ()

Added in API level 1

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 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 onLowMemory() method as a fallback for older versions, which can be treated the same as onTrimMemory(int) with the TRIM_MEMORY_COMPLETE level.