激活或者运行状态,运行在前台(在当前Activity栈的栈顶)。 暂停状态,失去了焦点但是仍然对用户可见,比如有其他的Activity在它之上,或者透明或者没有遮住整个屏幕。
停止状态,被其他Activity覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。
2、操纵生命周期的七种方法: 方法 描述 初始化,创建views,绑定是否可被杀死 下一个操作 onCreate() list的数据等等 onRestart() 在Activity被停止后调用 否 onStart() 否 onStart() onResume() 或者 onStart() 在Activity被用户可见之前调用 在Activity和用户交互之前调用(快速,持久化) 在系统要激活另一个否 onStop() onResume() 否 onPause() onResume() 或者 是 onStop() onPause() Activity时调用(快速) onRestart() 或者 onStop() 在Activity不再可见时调用 是 onDestroy() onDestroy() 在Activity被销毁时调用
是 3、Activity的运作流程
一般启动Activity:onCreate -> onStart -> onResume 呼叫另一个Activity: onPause -> onCreate -> onStart -> onResume -> onStop
还原Activity: onPause -> onRestart -> onStart -> onResume -> onStop -> onDestroy
退出Activity: onPause -> onStop -> onDestroy
回收再启动Activity: onCreate -> onStart -> onResume
4、作者经验
许多人尤其是初学者都认为Activity的生命周期并不重要,只要
onCreate了就ok,实际则不然,当你需要在多个Activity之间切换的时候生命周期的作用就展现了出来,尤其是在Activity之间进行数据传递或者对数据库操作的时候。
onResume和onRestart的作用有些相似,很多人对此感到困惑或者难
以区分。不过由上面的Activity的运作流程可以看出每一个流程中几乎都存在onResume,而且是在onStart之后,所以有时候将一些必要的操作放在onResume中比放在onRestart中要好。
因篇幅问题不能全部显示,请点此查看更多更全内容