何时关闭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;
    }
});

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...