首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Android之路 - Application 组件:Activity

作者:  时间: 2011-06-06

Android application的重要组件包括:

  • Activities
  • Intents
  • Services
  • Content Providers
  • Broadcast Receivers

Activities

Activity通常是用户在设备上看到的一个屏幕。一个应用一般都会有多个活动(activities),并且用户在这些活动间来回切换。

为了容易理解,我们用网站和android application类比一下:网站由很多网页组成,android application也由多个activity组成。网站有主页(home page), android application也有一个main activity,并且这个activity是应用显示的第一个屏幕。就像网站会提供页面间的导航,android app也会有;一个网站的页面可以跳转到另一个站点的页面,类似的,android app也可以从一个app的activity访问另一个app的内容。

Activity的生命周期:

Activity life cycle通过Activity Manager管理,这可有效的避免系统资源的浪费。注意,并不是由开发人员自己控制,而是由android系统。

5个状态:

启动(Starting)- 当activity还没有分配资源,进入到内存中时,它是启动状态。当activity在启动时,它会通过一套完整的回调方法,此时,开发人员有机会通过回调方法控制activity。之后,activity进入运行状态。

注意,从启动转至运行,是消耗系统资源最多、花费计算时间最长的过程,这个过程也直接影响电池电量。

运行(Running)- 是当前屏幕和用户交互的状态,也可以说activity在焦点。运行状态的activity有获取支持它尽可能快地运行所需内存和其他资源的优先级。

暂停(Paused)- 当activity不在焦点但是仍然可见时,进入暂停状态。但是,这并不是一个典型的场景。比如,弹出对话框时。

停止(Stopped)- 当activity不可见,但还在内存中时,进入停止状态。系统会保存停止的activity,因为用户很可能再切回到这个activity。同时,系统也会根据需要销毁它。

销毁(Destroyed)- Activity manager决定一个activity不再有用并从内存中移除它。

从图中可以看出,每一种状态都可以通过特定事件转到另一种状态。

走的多了,就有了自己的路!