Most visited

Recently visited

Added in API level 1

Application

public class Application
extends ContextWrapper implements ComponentCallbacks2

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Application
Known Direct Subclasses


用于维护全局应用程序状态的基类。 您可以通过创建子类并在AndroidManifest.xml的<application>标记中将该子类的完全限定名称指定为"android:name"属性来提供自己的实现。 应用程序类或应用程序类的子类在创建应用程序/程序包的过程之前在任何其他类之前实例化。

注意:通常不需要子类Application。 在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。 如果您的单例需要全局上下文(例如注册广播接收器),请在调用单例的getInstance()方法时将Context.getApplicationContext()作为Context参数。

Summary

Nested classes

interface Application.ActivityLifecycleCallbacks

 

interface Application.OnProvideAssistDataListener

用于registerOnProvideAssistDataListener(Application.OnProvideAssistDataListener)unregisterOnProvideAssistDataListener(Application.OnProvideAssistDataListener)回叫接口。

Inherited constants

From class android.content.Context
From interface android.content.ComponentCallbacks2

Public constructors

Application()

Public methods

void onConfigurationChanged(Configuration newConfig)

设备配置在组件运行时发生更改时由系统调用。

void onCreate()

在应用程序启动时调用,在创建任何活动,服务或接收者对象(不包括内容提供者)之前调用。

void onLowMemory()

这在整个系统内存不足时调用,并且主动运行的进程应该修剪内存使用情况。

void onTerminate()

此方法适用于仿真过程环境。

void onTrimMemory(int level)

当操作系统确定进程从其进程中删除不需要的内存是一个好时机时调用。

void registerActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback)
void registerComponentCallbacks(ComponentCallbacks callback)

在Context的基本应用程序中添加一个新的 ComponentCallbacks ,将在调用ComponentCallbacks活动方法和其他组件的同时调用该新应用程序。

void registerOnProvideAssistDataListener(Application.OnProvideAssistDataListener callback)
void unregisterActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback)
void unregisterComponentCallbacks(ComponentCallbacks callback)

删除以前在 registerComponentCallbacks(ComponentCallbacks)注册的 ComponentCallbacks对象。

void unregisterOnProvideAssistDataListener(Application.OnProvideAssistDataListener callback)

Inherited methods

From class android.content.ContextWrapper
From class android.content.Context
From class java.lang.Object
From interface android.content.ComponentCallbacks2
From interface android.content.ComponentCallbacks

Public constructors

Application

Added in API level 1
Application ()

Public methods

onConfigurationChanged

Added in API level 1
void onConfigurationChanged (Configuration newConfig)

设备配置在组件运行时发生更改时由系统调用。 请注意,与活动不同,当配置更改时,其他组件不会重新启动:它们必须始终处理更改的结果,例如通过重新获取资源。

在调用此函数时,您的Resources对象将被更新为返回与新配置相匹配的资源值。

有关更多信息,请阅读 Handling Runtime Changes

Parameters
newConfig Configuration: The new device configuration.

onCreate

Added in API level 1
void onCreate ()

在应用程序启动时调用,在创建任何活动,服务或接收者对象(不包括内容提供者)之前调用。 实现应尽可能快(例如,使用状态的延迟初始化),因为在此函数中花费的时间直接影响在进程中启动第一个活动,服务或接收者的性能。 如果你重写这个方法,一定要调用super.onCreate()。

onLowMemory

Added in API level 1
void onLowMemory ()

这在整个系统内存不足时调用,并且主动运行的进程应该修剪内存使用情况。 虽然没有定义它的确切位置,但通常会在所有后台进程都被终止时发生。 也就是说,在达到托管服务和前台UI的杀死进程之前,我们希望避免杀死。

你应该实现这个方法来释放你可能持有的任何缓存或其他不必要的资源。 系统将从此方法返回后为您执行垃圾回收。

优选地,您应该从ComponentCallbacks2实施onTrimMemory(int) ,以基于不同级别的内存需求逐步卸载资源。 该API可用于API级别14和更高的,所以你应该只使用这个onLowMemory()方法,旧版本的回退,可以治疗一样onTrimMemory(int)TRIM_MEMORY_COMPLETE水平。

onTerminate

Added in API level 1
void onTerminate ()

此方法适用于仿真过程环境。 它永远不会在生产型Android设备上调用,通过简单地杀死进程来删除进程; 此时不执行用户代码(包括此回调)。

onTrimMemory

Added in API level 14
void onTrimMemory (int level)

当操作系统确定进程从其进程中删除不需要的内存是一个好时机时调用。 例如,当它进入后台并且没有足够的内存来保持尽可能多的后台进程运行时,会发生这种情况。 您不应该与级别的确切值进行比较,因为可能会添加新的中间值 - 如果值大于或等于您感兴趣的级别,通常需要比较。

要在任何点检索处理当前修剪水平,可以使用 ActivityManager.getMyMemoryState(RunningAppProcessInfo)

Parameters
level int: 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.

registerActivityLifecycleCallbacks

Added in API level 14
void registerActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback)

Parameters
callback Application.ActivityLifecycleCallbacks

registerComponentCallbacks

Added in API level 14
void registerComponentCallbacks (ComponentCallbacks callback)

将新的ComponentCallbacks添加到Context的基本应用程序中,将在调用ComponentCallbacks活动方法和其他组件的同时调用该新应用程序。 请注意,将来必须确保在适当的时候使用unregisterComponentCallbacks(ComponentCallbacks) ; 这不会被删除。

Parameters
callback ComponentCallbacks: The interface to call. This can be either a ComponentCallbacks or ComponentCallbacks2 interface.

registerOnProvideAssistDataListener

Added in API level 18
void registerOnProvideAssistDataListener (Application.OnProvideAssistDataListener callback)

Parameters
callback Application.OnProvideAssistDataListener

unregisterActivityLifecycleCallbacks

Added in API level 14
void unregisterActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback)

Parameters
callback Application.ActivityLifecycleCallbacks

unregisterComponentCallbacks

Added in API level 14
void unregisterComponentCallbacks (ComponentCallbacks callback)

删除之前以 registerComponentCallbacks(ComponentCallbacks)注册的 ComponentCallbacks对象。

Parameters
callback ComponentCallbacks

unregisterOnProvideAssistDataListener

Added in API level 18
void unregisterOnProvideAssistDataListener (Application.OnProvideAssistDataListener callback)

Parameters
callback Application.OnProvideAssistDataListener

Hooray!