【问题标题】:Android: mhandler.postDelayed() not accurate when screen offAndroid:屏幕关闭时 mhandler.postDelayed() 不准确
【发布时间】:2013-06-21 08:08:39
【问题描述】:

我正在使用 mhandler.postDelayed(runnable,5000) 每 5 秒将数据写入文件。

当屏幕关闭时,我从文件中观察到 postDelayed(runnable,5000) 的时间。 有一段时间是准确的,但是一小时后,postDelayed(runnable,5000)的时间增加到10秒。

两小时后,postDelayed(runnable,5000) 的时间增加到 15 秒。 三小时后,postDelayed(runnable,5000) 的时间增加到 20secs 等等..

postDelayed 的触发时机随时间变化,这似乎很奇怪。

我是期待这个还是我的代码有错误?

【问题讨论】:

    标签: android


    【解决方案1】:

    您应该尝试使用除 Handler 之外的其他东西。

    试试Timer

    int delay = 1000; //milliseconds
    ActionListener taskPerformer = new ActionListener() {
        public void actionPerformed(ActionEvent evt) {
            //...Perform a task...
        }
    };
    new Timer(delay, taskPerformer).start();
    

    【讨论】:

    • Timer 是个好方法吗?我会试试看。如果还是不行,我可以改用AlarmManager。
    • 是的,应该,我曾经用它来创建倒计时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多