android.app.Application类提供了许多类似onCreate()的方法,它们会在不同的场景下被Android框架回调。与此同时,Application类还提供了一些监控的函数,用于监视本应用中组件的生命周期。如下表所示:
方法名称 | 返回值 | 注解 |
onConfigurationChanged(Configuration newConfig) | void | 如果组件正在运行时设备配置(包括语种,方向,网络等)发生改变,则由系统调用此方法通知应用程序 |
onCreate() | void | 当应用程序正在启动时,并且在创建任何其他应用程序对象之前,调用此方法。由于花费在此功能上的时间直接影响了启动一个进程中首个Activity服务或者接收器的速度,所以尽可能快地执行(例如使用缓慢的初始化状态)。如果你重写了这个方法,需要确保调用super.onCreated() 需要注意的是,在实际应用程序中,如果你的应用程序中的某些组件指定了一个process属性(进程),并且此进程并不存在,那么Application的onCreate()回调就会被调用,换句话说,此方法可能会被多次调用 |
onLowMemory() | void | 当整个系统正在低内存运行时,并且希望应用程序缩减使用内存的时候,系统调用此方法通知应用程序。但调用此方法的准确点没有定义时,通常它将在所有后台进程已经终止的时间附近发生。 应用程序可执行此方法来释放任何缓冲或其拥有的不必要的资源。系统在从此方法中返回后运行垃圾回收操作。 |
onTerminate() | void | 此方法在仿真进程环境中使用,不在生产Android设备上调用,在生产Android设备上,可以通过简单地终止进程来移除进程。进行移除工作时,则不执行任何用户代码(包括此回调) |
onTrimMemory() | void | 回收内存的时候调用。例如,当它进入后台并且没有足够内存保持许多后台进程运行时。 |
监控回调接口 registerComponentCallbacks unregisterComponentCallbacks |
void void |
在应用程序中注册一个ComponentCallbacks接口。在Activity生命周期发生改变之前,通过此接口的各个方法通知应用程序。使用这个接口,我们可以在Activity生命周期发生改变之前做一些必要的处理 需要大家注意的是,必须确保在未来恰当的时候使用unregisterComponentCallbacks(ComponentCallbacks)移除ComponentCallbacks对象,它是我们之前用registerComponentCallbacks(ComponentCallbacks)注册的。 |