Android生命周期包括以下几个状态:
onCreate(Bundle savedInstanceState):可以进行一些初始化的工作在activity第一次被创建的时候调用。这里是你做所有初始化设置的地方──创建视图、绑定数据至列表等
onStart():Activity显示在前台,但还不可与用户交互
onRestart():在activity停止后,在再次启动之前被调用。
onResume():取得控制权,可以对此Activity进行操作此时activity位于堆栈顶部,并接受用户输入。
onPause():暂停,可见,但不可操作,此方法主要用来将未保存的变化进行持久化,停止类似动画这样耗费CPU的动作等
onStop():当activity不再为用户可见时调用此方法
onDestroy():在activity销毁时调用
只有再启动另外一个Activity的时候才会进入onPause状态,而不是想象中的被覆盖或者不可见同时通过AlertDialog源码或者Toast源码我们都可以发现它们实现的原理都是windowmanager.addView();来添加的, 它们都是一个个view ,因此不会对activity的生命周期有任何影响。我是在这吃过亏的,开始还纳闷怎么dialog消失了,没有走activity的resume方法?原来原因在这
dialog的dismiss和cancel方法都是让dialog消失,不同的是cancel中调用了dismiss, cancel会回调setOnCancelListener。