如何在片段生命周期中启动AsyncTask如果我需要onCreateView()
在onPostExecute()
之前运行?我知道我可以在onCreateView()
中启动AsyncTask,但我想知道是否有任何担保,在交付任何完成的后台任务之前,UI线程将达到某个点。是什么导致UI线程在完成时转换到AsyncTask?在创建视图之前,我可以在片段中启动AsyncTask吗?
回答
我多早可以开始在片段生命周期
一个的AsyncTask你就可以开始在OnCreate()中的AsyncTask,但它并不重要。
是什么导致UI线程在完成时转换到AsyncTask?
AsyncTask使用一个处理程序来更新UI,这意味着它将消息发送到UI线程的队列以备将来执行一段时间。虽然你不知道什么时候会发生,但在你的情况下,它几乎总是会在设置片段后执行。
我在我的问题的关键部分添加了重点。我需要知道“几乎总是”可以作为保证。 – cambunctious
我可以把它放在粗体,但这就是它。几乎总是。你不知道。你可以改变你的代码的逻辑。如果在创建片段UI之前强制执行onpost execute,请在添加片段之前或之前的事件/屏幕中执行。 – masp
这不能保证,因为AsyncTask应该异步运行,并且无法预测它应该运行的时间。
但是,您可以通过在实例化片段之前执行AsyncTask并简单地将AsyncTask结果传递给片段来控制此行为。这种方法是有意义的,因为如果你想在调用onCreateView()之前运行它,你可能不需要片段的状态或实例变量。
- 1. 我试图在片段中创建图像幻灯片视图?
- 2. 我可以在视图中隐藏多行代码片段吗?
- 3. C# - 我可以在Main启动之前初始化吗?
- 4. 在创建对象之前,我可以添加事件吗?
- 5. 我可以在Jenkins管道中创建动态阶段吗?
- 6. Android - 在交换片段之前加载片段的视图
- 7. 避免在创建片段之前显示活动布局
- 8. 在创建列表视图活动之前预创建行视图?
- 9. 我可以在Sql Server 2005中创建xml数据的动态视图吗?
- 10. DOM Range对象在启动之前可以结束吗?
- 11. 我们可以在css3动画中移动背景图片吗?
- 12. 片段视图加载是asynctask的一部分时,如何在片段加载之前显示进度条?
- 13. 我可以创建一个单字节片段(u8)吗?
- 14. 我可以创建项目特定的代码片段吗?
- 15. 视图可以在Access 2000中创建?
- 16. 在其第一次可见之前启动/绑定视图
- 17. 在创建片段之前在活动中执行网络调用
- 18. 在QApplication创建之前使用Qt metatype系统可以吗?
- 19. 在配置视图之前可以进行异步调用吗?
- 20. 可以在Inno Setup中创建复选框树视图吗?
- 21. 我可以使用MySQL中的参数创建视图吗?
- 22. 在我的应用程序启动之前可以加载Flash吗?
- 23. 在片段中使用asynctask
- 24. 你可以在背景图片重复之间创建空间吗?
- 25. 该静态类字段在创建之前正在使用吗?
- 26. Wicket:我可以在初始化java组件之前创建标记吗?
- 27. 我可以在类图中的两个类之间创建多个关联吗?
- 28. 我可以手动创建电影吗?
- 29. 创建后可以移动图形吗?
- 30. 在Android中创建动态片段
onAttach()和onCreate()在onCreateView()之前开始 – XxGoliathusxX