您的位置:华清远见教育科技集团 >> Android资料 >> Android常用组件生命周期  
 
Android常用组件生命周期
分享到:

在Android应用组件中,所有组件都是具有生命周期的,当组件被创建时,开始其生命周期,当组件被销毁时,结束其生命周期。本文将着重介绍Activity、服务、广播接收器的生命周期。

1.Activity生命周期

在系统中,Activity由Activity栈即Tasks来管理,Activity在其整个生命周期中,有4个状态:运行(running)、暂停(paused)、停止(stopped)、销毁(Destroyed)。当一个Activity被启动时,该Activity被放置在Tasks的顶部,其状态处于“running”状态。

当一个Activity被置于前台时,该Activity处于“running”状态。

当一个Activity失去焦点但仍然可视时,该Activity处于“paused”状态。在“paused”状态下,如果系统可用内存非常低,该Activity则可能被销毁。

当一个Activity完全不可视时,该Activity处于“stopped”状态。当系统需要更多内存时,该Activity可能被销毁。

当一个Activity因为某种原因被销毁时,该Activity将处于“Destroyed”状态,图1-1显示了Activity的状态迁移过程。

图1-1 Activity生命周期

2.服务生命周期

Service服务通常作为后台进程运行,通过Context.startService()方法可以启动服务,如果需要销毁一个服务,则可以调用Context.stopService()、Service.stopSelf()、Service.stopSelfResult()等方法。

当客户端需要和服务进行绑定来利用服务时,需要调用Context.bindService()方法,结束绑定需要调用Context.unbindService()方法。图1-2显示了服务的状态迁移过程。

图1-2 服务生命周期

3.广播接收器生命周期

广播接收器(Broadcast Receivers)必须定义的一个回调方法为:

void onReceive(Context curContext, Intent broadcastMsg)

当一个广播消息到达时,Android会调用BroadcastReceiver ::onReceive()方法来处理消息,在处理过程中,广播接收器处于激活状态,当处理结束时,广播接收器处于去活状态。

注册一个广播接收器的方法为Context::registerReceiver(BroadcastReceiver, IntentFilter)。

 更多相关文章

·Android Resources资源
·Android Data Storage
·Android Content Providers
·Android App Widgets开发
·Android Intent激活组件