onDetach ,onAttach,onPostExecute,RetianFragment方法周期,解释的不错

来源:互联网 发布:tensorflow 下载 编辑:程序博客网 时间:2024/06/04 19:02

It is not possible for onPostExecute() to be called in between Fragment#onDetach() and Fragment#onAttach() during a configuration change. The reasoning behind this claim is threefold:

  1. Configuration changes are handled inside a single message in the main thread's message queue.

  2. As soon as the doInBackground() method returns, the AsyncTask schedules the onPostExecute() method to be invoked on the main thread by posting a message to the main thread's message queue.

  3. The configuration change's message will contain the code that will invoke the Activity and Fragment lifecycle methods (such as onDetach() and onAttach()). The AsyncTask's message will contain the code that will invoke the onPostExecute() method. Since the main thread processes messages in its message queue sequentially, it is impossible for the two messages to be executed at the same time, and therefore onPostExecute() can never be invoked in between the calls to onDetach() and onAttach().

0 0
原创粉丝点击