微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

让我们假设我计划在我的整个应用程序中使用一个executorservice,我正在发送新的runnable或callable来执行/提交,我会在我这样做之后立即关闭.我只想把我的“任务”扔给执行者服务并让他处理它们并执行它们给它的资源(他有多少线程可用,如果需要可以创建多少线程,然后相应地排队这些任务).

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

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

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

我主要是为了:

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

解决方法

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

原文地址:https://www.jb51.cc/android/316339.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐