Android:AsyncTask可以重新创建自己吗?

Xander

这就是我想要做的:

  1. 在Async中doInBackground,会下载一些数据。
  2. 在Async中onPostExecute,处理下载的数据,如果数据不是必需的,我希望AsyncTask从中重新启动onPostExecute

我的问题是:new MyTask().execute();从Async本身进行调用以使其重新启动是否是错误的做法可以这样做还是有更好的方法?

汤姆

就像您的图标Merlin。我确定那里也有一条龙。

您可能只是不希望这样做AsyncTaskAsyncTask本来并不是要成为Android并发的万能解决方案,甚至更少Looper,诸如此类,它是用来分发完全不同性质的东西。哦,而不是new Thread使用Looper -您只是要重新设计Java易于使用的东西,而这些东西被广泛认为是该语言最可靠,最理想的功能之一!)

看一下执行程序服务(docs漂亮的android文档,带有与您的目的类似的非常好的示例!),甚至是预定的执行程序服务(docsandroid docs)。java.util.concurrent是你最好的朋友!

这样,您可以创建任务并提交多次,而无需调用new

另一个问题:onPostExecute在UI线程上运行。android docs

onPostExecute(Result), invoked on the UI thread after the background computation finishes 

您说“已下载的数据已处理”这是否需要触摸UI元素?这也不应该是异步的,因此不是onPostExecute吗?

祝你好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数组总是重新创建自己的PHP

来自分类Dev

我可以在绘图中重新创建此极坐标蜘蛛图吗?

来自分类Dev

给定原始未压缩的文件,我可以准确地重新创建gzip文件吗?

来自分类Dev

文件可以在分区表和文件系统重新创建后幸存吗?

来自分类Dev

即使使用android:configChanges =“ orientation”也可以重新创建活动

来自分类Dev

Laravel Sync会删除并重新创建吗?

来自分类Dev

每次都重新创建requirejs依赖项吗?

来自分类Dev

QCursor是否可以从QPixmaps重新创建泄漏内存?

来自分类Dev

是否可以忽略git中的文件重新创建?

来自分类Dev

是否可以重新创建.meteor目录?

来自分类Dev

是否可以从javascript重新创建选择?

来自分类Dev

重新创建序列

来自分类Dev

在startActivityForResult返回后未重新创建Android parentActivity

来自分类Dev

如何避免在Android的onCreate上重新创建视图?

来自分类Dev

重新创建Android版Google Maps API

来自分类Dev

Android Fragments,每次保存实例还是重新创建?

来自分类Dev

取消EditText输入->重新创建MainActivity(Android Studio)

来自分类Dev

如何重新创建Android快速设置滑动面板?

来自分类Dev

Android在finish()上重新创建Activity

来自分类Dev

Android Fragments,每次保存实例还是重新创建?

来自分类Dev

在Application Destroy上,Android重新创建服务

来自分类Dev

主要git储存库已删除,我可以从.git目录重新创建它吗?

来自分类Dev

有什么方法可以从其Object.inspect方法的输出中重新创建对象吗?

来自分类Dev

关闭并再次打开时,有什么方法可以不重新创建表单实例吗?

来自分类Dev

是否可以使用我的旧keyotre详细信息重新创建新的Android密钥库?

来自分类Dev

重新创建已创建的片段?

来自分类Dev

如何使用自己的数据集重新创建.pb文件

来自分类Dev

如何在状态更改后强制窗口小部件重新创建自己?

来自分类Dev

如何重新发出Web请求?我必须重新创建Webclient吗?

Related 相关文章

  1. 1

    数组总是重新创建自己的PHP

  2. 2

    我可以在绘图中重新创建此极坐标蜘蛛图吗?

  3. 3

    给定原始未压缩的文件,我可以准确地重新创建gzip文件吗?

  4. 4

    文件可以在分区表和文件系统重新创建后幸存吗?

  5. 5

    即使使用android:configChanges =“ orientation”也可以重新创建活动

  6. 6

    Laravel Sync会删除并重新创建吗?

  7. 7

    每次都重新创建requirejs依赖项吗?

  8. 8

    QCursor是否可以从QPixmaps重新创建泄漏内存?

  9. 9

    是否可以忽略git中的文件重新创建?

  10. 10

    是否可以重新创建.meteor目录?

  11. 11

    是否可以从javascript重新创建选择?

  12. 12

    重新创建序列

  13. 13

    在startActivityForResult返回后未重新创建Android parentActivity

  14. 14

    如何避免在Android的onCreate上重新创建视图?

  15. 15

    重新创建Android版Google Maps API

  16. 16

    Android Fragments,每次保存实例还是重新创建?

  17. 17

    取消EditText输入->重新创建MainActivity(Android Studio)

  18. 18

    如何重新创建Android快速设置滑动面板?

  19. 19

    Android在finish()上重新创建Activity

  20. 20

    Android Fragments,每次保存实例还是重新创建?

  21. 21

    在Application Destroy上,Android重新创建服务

  22. 22

    主要git储存库已删除,我可以从.git目录重新创建它吗?

  23. 23

    有什么方法可以从其Object.inspect方法的输出中重新创建对象吗?

  24. 24

    关闭并再次打开时,有什么方法可以不重新创建表单实例吗?

  25. 25

    是否可以使用我的旧keyotre详细信息重新创建新的Android密钥库?

  26. 26

    重新创建已创建的片段?

  27. 27

    如何使用自己的数据集重新创建.pb文件

  28. 28

    如何在状态更改后强制窗口小部件重新创建自己?

  29. 29

    如何重新发出Web请求?我必须重新创建Webclient吗?

热门标签

归档