2016-03-06 91 views
0

我需要确认一些我刚刚发现的信息。Android生命周期,哪些生命周期方法在方向更改期间在相同消息中执行?

生命周期方法onCreate(), onStart() and onResume()在方向更改过程中一起处理为message queue中的一个message

而另一面是onPause(), onStop() and onDestroy()一起处理为message

我想知道的一个原因是,如果我有一个线程无限循环发布到主UI线程并且我改变了我的方向,它会在onResume()后总是发布吗?它永远不会发布BETWEEN生命周期方法吗?:

private static class MyThread extends Thread { 
    @Override 
    public void run() { 
     while (true) { 
      mainUiHandler.post(myRunnable); 
     } 
    } 
} 

谢谢!

+0

你是指什么意思的一条消息? –

+0

虽然这在理论上是有趣的(我不认为它是真的顺便说一句),但这与应用程序编程无关。你不能使用它,Android的更高版本可能会改变行为。 – Henry

回答

0

不,至少不是你可以依赖的东西。请记住,在某些情况下,可以在没有onStop的情况下调用onPause。 onStart没有onResume也一样。 (在这两种情况下,如果需要它们都会被最终调用)。 onDestroy可能永远不会被调用,你的应用程序应该被假定它不是肯定的。

+0

O,你说得对,我想我把问题发布到快速无线思维。我特别想知道在定位更改期间是否会收到一封邮件。我会更新我的问题。 – mco

+0

对此的回答可能是,但这是一个实现细节,并未承诺在android版本之间保持不变。 –