后台服务中的Android计时器无法按时更新

时间:2017-05-02 23:03:34

标签: java android timer runnable android-handler

我正在尝试每分钟将用户位置更新到我们的REST WebService。我尝试过使用Timer和Runnable with Handler。这两个都有问题。

两者在我的模拟器上工作正常,尽管在我们的测试设备上,计时器和Runnable并非每分钟运行,它们偶尔更新,有时在1秒内更新,有时5分钟后,以及介于两者之间的任何地方..

有谁知道为什么会这样?

Context context;
Handler handler = new Handler();

@Override
public void onCreate() {
    super.onCreate();

    context = this;
    handler.postDelayed(runnable, 0); 
} 

private Runnable runnable = new Runnable() {
    @Override
    public void run() {
        updateLocation(context);
        handler.postDelayed(this, 60000);
    }
};

0 个答案:

没有答案