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

Android SDK 开发之应用程序基础

 2010-03-23 04:53:00 来源:WEB开发网   
核心提示:stack的顶端,处理用户输入,Android SDK 开发之应用程序基础(15),下一个状态永远为onPause()否onPause()onPause()当系统将要恢复另一个activity时调用,该方法一般用来保存一些数据,你可以实现一个onSaveInstanceState()方法,Android在销毁一个 ac
stack的顶端,处理用户输入。下一个状态永远为onPause()
否 onPause()
onPause()
当系统将要恢复另一个activity时调用。该方法一般用来保存一些数据,停止消耗cpu的操作例如动画等。它应该迅速完成工作,因为下一个 activity要等到它返回才能恢复。如果该activity进入前台则继续调用onResume(),如果变为不可见则继续调用onStop().

onResume()或onStop()
onStop()
当activity对用户不再可见时调用。当activity被销毁或者另一个activity启动并覆盖于之上时调用。如果该activity回来和用户交互则调用onRestart(),如果该activity将被销毁则调用onDestroy()。

onRestart()或onDestroy()
onDestroy()
在activity被销毁之前被调用。这是activity最后一个接收的调用。它可以在activity正在结束时被调用(程序中调用了finish()),或者因为系统为节约空间而kill它。可以用isFinishing()方法来区分二者。


注意该表格的"是否能被kill"项。它表示系统是否能够在该方法返回后的任意时间Kill掉进程,而不执行该activity的其它代码。有三个方法 onPause(),onStop()和onDestroy()该项为"是"。由于onPause()是3个中的第一个,因此它是唯一一个在进程被 kill之前一定会被调用的—onStop()和onDestroy()可能不被调用。因此,你应该使用onPause()来保存任何永久性数据。

该项为"否"的方法在它们被调用时保护该activity进程不被Kill。因此一个activity的可Kill状态为从onPause()返回一直到onResume()被调用之前。直到下一次onPause()返回之前它都不能被kill。

在后面的进程和生命周期一节中会讲到,一个不处于可kill状态的activity仍然可以被系统kill掉——但只会发生在资源耗尽的极端的情况下。

Saving activity state

当系统,而不是用户关闭一个activity来节约内存时,用户可能希望当他们返回该activity时回到原来的状态。

为了保存activity被kill之前的状态,你可以实现一个onSaveInstanceState()方法。Android在销毁一个 activity之前会调用这个函数——也就是说,在onPause()被调用之前。它传递一个Bundle对象给

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

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接