【问题标题】:Adjusting the order of asyncTasks调整 asyncTasks 的顺序
【发布时间】:2012-03-17 23:40:02
【问题描述】:

是否可以强制/推荐创建 AsyncTask 的顺序?

我希望它更像一个堆栈,而不是类似队列的顺序,这样如果创建并执行了一个新的 AsyncTask 实例,它就会比其他的有更多的运行机会。

【问题讨论】:

    标签: android android-asynctask stack queue


    【解决方案1】:

    可能可以通过 executeOnExecutor() 在 API 级别 11+ 上完成此操作,您可以在其中提供自己的 Executor。除此之外,您还需要使用自己的线程池并使用Handlerpost()runOnUiThread() 自己完全滚动,以便在主应用程序线程上完成工作。

    【讨论】:

    • 我在想我需要采取这样的行动。是否可以给 Executor 的 CTOR 一个定制的 blockigQueue ,以便它像堆栈一样工作?另一方面,我不能确定这样的事情会产生什么影响。 Executor 有教程吗?
    • @androiddeveloper:我从未创建过自己的Executor。它是标准 Java 的一部分,因此互联网上可能有关于它的资料,或者可能在 Java Concurrency in Practice 或其他重点强调线程的 Java 书籍中。
    • 我明白了。谢谢你 。我会尝试做一些事情,我希望我会记得更新这篇文章并在这里放一个示例代码。
    • executeOnExecutor() 在低于 11 的 API 级别上不可用,是否有任何解决方法?
    • @Adhavan:不是真的,除了可能从 repo 中获取较新的 AsyncTask 实现,将其重构到您自己的包中并使用它。
    猜你喜欢
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 2021-09-19
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多