我应该如何使用 Executor 代替 AsyncTask 或 IntentService 在 Android 上排队任务?

发布于 2024-09-27 14:23:43 字数 238 浏览 8 评论 0原文

  1. 这是一个好的解决方案吗?

  2. 如何实施?

  3. 什么时候应该正确关机?我在 Activity 中的 onDestroy() 上关闭它,然后尽快重新启动我的应用程序。它会导致java.util.concurrent.RejectedExecutionException,为什么?有人知道它的生命周期吗?

有什么想法吗?谢谢。

  1. Is it a good solution or not?

  2. How to implement?

  3. When should I shutdown properly? I shutdown it onDestroy() in the Activity, then relaunch my app as soon as possible. It causes a java.util.concurrent.RejectedExecutionException, why? Does anyone know its lifecycle?

Any idea? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

几度春秋 2024-10-04 14:23:43

我刚刚发现 AsyncYask 已经用 core_pool_size 5 和 max_pool_size 128 实现了 Java 的并发执行器。这太棒了!

I just figure out the AsyncYask already implemented the Java's concurrency executor with core_pool_size 5 and max_pool_size 128. That's great!

同尘 2024-10-04 14:23:43
  1. 是的,我想是的。 AsyncTask 用于那些将更新 UI 的任务。抱歉,我对 IntentService 不熟悉。
  2. 创建一个实现 android.app.Application 接口的 Application 对象。在onCreate方法中创建Executor。您可以使用以下语句获取应用程序对象:

    <块引用>

    MyApplication app = (MyApplication) context.getApplicationContext();

  3. 我不确定“应用程序销毁”是什么意思。我认为你可以在Application的onTerminate方法和onLowMemory方法中关闭Executor。
  1. Yes, I think so. AsyncTask is used for those tasks which will update UI. Sorry I am not familiar with IntentService.
  2. Create an Application object which implements android.app.Application interface. Create Executor in the onCreate method. You can get your Application object using following statement:

    MyApplication app = (MyApplication) context.getApplicationContext();

  3. I am not sure what you mean by "app destory". I think you can shutdown Executor in Application's onTerminate method and onLowMemory method.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文