http://developer.android.com/training/basics/activity-lifecycle/index.html
要初始化的东西,尽量放在onStart()里面,因为它在创建之初oncreate()与重新打开的onRestart()后都会被调用到。而跟UI显示相关的东西,尽量考虑在onResume()中处理。
在onPause()中,最好不要把信息存入永久存储中(如果用户期望这些数据被保存则例外,比如写邮件草稿时),尤其避免把耗时耗工的工作,比如写数据库。这类耗时费力的工作,应该放在onStop()中去实现。另外,在某些极端情况下,系统可能直接杀死应用进程而不调用onDestroy(),因此非常有必要在onStop()中释放可能导致内存泄漏的资源。
每次旋转屏幕,系统当前活跃的activity会被毁掉并重新创建。可以调用onSaveInstanceState()保存状态信息,在下次重新创建时,可以在onCreate()或者onRestoreInstanceState()中检测包含前状态信息的bundle是否存在。