开发学院手机开发Android 开发 Android SDK 开发之应用程序基础 阅读

Android SDK 开发之应用程序基础

 2010-03-23 04:53:00 来源:WEB开发网   
核心提示:receiver的生命周期——包括它们可能处于的状态,在状态转换时通知你的方法,Android SDK 开发之应用程序基础(13),和这些状态对进程的终止和实例销毁的作用,Activity lifecycleActivity有三种基本状态:当它在屏幕前台时(出于当前task的activity stack的顶端)状态为a
receiver的生命周期——包括它们可能处于的状态,在状态转换时通知你的方法,和这些状态对进程的终止和实例销毁的作用。

Activity lifecycle

Activity有三种基本状态:

当它在屏幕前台时(出于当前task的activity stack的顶端)状态为active或running。该activity是用户动作的焦点。

如果它失去焦点但仍然对用户可见,它的状态为paused。也就是说,另一个activity位于其顶端,并且那个activity是透明的或者未覆盖整个屏幕,因此该暂停的activity仍然有一部分可见。一个暂停的activity完全是活着的(它保存了所有的状态和成员信息并且和窗口管理器连接),但是可以在极端内存不足时可以被系统关闭。

当它被另一个activity完全覆盖时状态为stopped。它仍然保存了所有的状态和成员信息。然而,它对用户是不可见的因此它的窗口被隐藏了,并且在系统在其它地方需要内存的时候常常kill掉它。

如果一个activity处于paused或stopped状态,系统可以将其从内存中去掉,可以告诉它关闭(调用它的finish()方法),或者直接kill掉它的进程。当它再次显示时,它必须完全重启并恢复到原来的状态。

当一个activity从一个状态转换到另一个状态,它会被通知,这是通过调用下面的函数完成的:

void onCreate(Bundle savedInstanceState)

void onStart()

void onRestart()

void onResume()

void onPause()

void onStop()

void onDestroy()

所有这些方法都可以被重写来做状态改变时应该做的工作。所有的activity必须实现onCreate()方法来做初始化工作。许多activity实现onPause()来确认数据修改并做好停止和用户交互的准备。

调用父类方法

activity的声明周期方法必须首先调用其父类版本。例如:

protected void onPause() {

super.onPause();

. . .

}

这7个方法一起定义了一个activity的生命周期。通过实现这些方法,你可以管理3个嵌套的生命周期循环:

完整周期:从第一次调用onCreate()到一次onDestroy()。一个activity在onCreate()中做所有的"全局"状态的初始化设置,在 onDestroy()中释放所有的资源。例如,如果它有一个后台线程从网络下载数据,它可以在onCreate()中创建该线程并在

上一页  8 9 10 11 12 13 14 15 16 17 18  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接