Android SDK 开发之应用程序基础
2010-03-23 04:53:00 来源:WEB开发网和onPause()等方法不同,onSaveInstanceState() 和 onRestoreInstanceState() 不是生命周期方法。它们不是总被调用。例如,Android在activity变为可以被系统销毁的状态时调用 onSaveInstanceState(),但当该activity被用户销毁时不会调用(例如按下BACK键)。在这种情况下,用户不期望回到该 activity,因此不需要保存它的状态。
因为onSaveInstanceState()不是总被调用,你应该只用它来记录activity的瞬时状态,而不是永久性数据。应该用onPause()来完成后者。
Coordinating activities
当一个activity启动另一个时,它们都会经历生命周期的转移。一个会暂停或停止,而另一个会启动。有时候,你需要协调这些activity。
生命周期回调函数的调用顺序是固定的,尤其当两个activity在同一个进程中时:
当前activity的onPause()方法被调用。
被启动的activity的onCreate(),onStart()和onResume()依次被调用。
如果前一个activity不再在屏幕上可见,则它的onStop()方法被调用。
Service lifecycle
一个service可以有两种用法:
它可以被启动并允许一直运行直到有人停止它或者它自行停止。在这种模式下,它以Context.startService()方法来启动并使用 Context.StopService()的方法来停止。它可以使用Service.stopSelf()或者 Service.stopSelfResult()来停止自己。只需要一次stopService()方法就可以停止该service,无论 startService()被调用了多少次。
It can be operated programmatically using an interface that it defines and exports. Clients establish a connection to the Service object and use that connection to call into the service. The connection is established by calling Context.bindService(), and is closed by calling Context.unbindService(). Multiple clients can bind to the same service. If the service has not already been launched, bindService() can optionally launch it.
它可以通过它定义的一些接口来程序化的操作。客户和Service对象建立一个连接并使用这个连接来调用service。该连接使用Context.bindService()来建立,并使用
更多精彩
赞助商链接