何时关闭android应用程序中的executorservice

前端之家收集整理的这篇文章主要介绍了何时关闭android应用程序中的executorservice前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们假设我计划在我的整个应用程序中使用一个executorservice,我正在发送新的runnable或callable来执行/提交,我会在我这样做之后立即关闭.我只想把我的“任务”扔给执行者服务并让他处理它们并执行它们给它的资源(他有多少线程可用,如果需要可以创建多少线程,然后相应地排队这些任务).

根据您在Android应用程序中使用ExecutorService的经验,并考虑到应用程序状态的变化,如果我不想通过这样做不断关闭并重新创建执行程序服务:

  1. executor = Executors.newCachedThreadPool();
  2. executor.submit(some Runnable);
  3. executor.shutdown();

,你什么时间和地点建议关闭服务,然后恢复它,以便我可以防止一些泄漏或一些不可预见的后果?

我主要是为了:

1)通过Backstack中最后一个活动的后退按钮关闭应用程序(应用程序使用许多活动)
2)申请在后台进行(在任何这些活动中)
3)应用程序返回前台(在任何这些活动上)

解决方法

你可以做一个工作.将执行程序创建为守护程序.然后它会在您的应用程序退出自动结束.您不必显式调用shutdown.
  1. ExecutorService es = Executors.newSingleThreadExecutor( new ThreadFactory() {
  2. @Override
  3. public Thread newThread(Runnable r) {
  4. Thread t = new Thread(r);
  5. t.setDaemon(true);
  6. return t;
  7. }
  8. });

猜你在找的Android相关文章