我需要对我刚刚发现的一些信息进行一些确认。
在定位更改期间,onCreate(), onStart() and onResume()
中的生命周期方法message
是否作为一个message queue
一起处理?
另一方面,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)
没有。至少不是你可以依赖的东西。请记住,在某些情况下,可以在没有onStop的情况下调用onPause。对于没有onResume的onStart也是如此。 (在这两种情况下,如果需要,它们最终都会被调用)。 onDestroy可能永远不会被调用,你的应用程序应该写成假定它不是肯定的。