网上查阅了很多资料,对activity的生命周期有了基本的了解。
但有一个问题一直没搞明白。  一般启动:
  oncreate - onstart - onresume
  呼叫另一个activity:
  onpause(1) - oncreate(2) - onstart(2) - onresume(2) - onstop(1)
  回原activity:
  onpause(2) - onrestart(1) - onstart(1) - onresume(1) - onstop(2) - ondeseroy(2)
  推出结束:
  onpause - onstop - ondestroy其中的onrestart后为什么还有执行onstart???????

解决方案 »

  1. activity生命周期图就是这样画的呀。
    一个activity处于onStop状态,重新获得焦点就会:onRestart--->onStart--->onResume
      

  2. 首先有一点你搞错了,onPause之后不是onRestart的,  onRestart是在onStop之后的,结合上图,就可以知道,onStop之后并没有被你onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。
      

  3. 首先有一小点,你搞错了,是onStop之后才会有onRestart,具体你可以参照楼上的,因为Acitivity只是给你Stop而没有被你onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。 
      

类似问题 »