【问题标题】:Difference when starting timer inside service and activity在服务和活动中启动计时器时的差异
【发布时间】:2016-08-24 04:54:21
【问题描述】:

我希望有一个应该每 30 秒运行一次的周期性任务。所以我使用ScheduledThreadPoolExecutorTimer

 ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
        executor.scheduleWithFixedDelay(new MyTask(), 0, 30000, TimeUnit.MILLISECONDS);

class MyTask implements Runnable {
        @Override
        public void run() {
        }        
}   

这里是Timer

Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                // do something here
            }
        }, 0, 30000);

我的问题是:如果我在 Service/IntentService 或一个活动中从上面的代码开始,是否有任何区别。这些操作将相同或在服务内部启动会更好。

【问题讨论】:

标签: java android service intentservice threadpoolexecutor


【解决方案1】:

如果你想在你的应用程序处于后台时运行此任务,那么你应该使用service,或者如果你只想在你的应用程序在前面时运行,那么你可以在activity中使用它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    相关资源
    最近更新 更多