Android 安卓;“放慢速度”;当屏幕关闭时

Android 安卓;“放慢速度”;当屏幕关闭时,android,service,Android,Service,我正在开发一款应用程序,每30秒就在互联网上发布一次。在屏幕关闭之前,一切正常。计时器似乎慢了下来。发帖大约需要5分钟。我试过获取wake lock和setforegroundactivity,但没有任何效果。有什么想法吗 它作为一项服务运行,我将其用于wake lock: PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE); WakeLock wakeLock = mgr.newWakeLo

我正在开发一款应用程序,每30秒就在互联网上发布一次。在屏幕关闭之前,一切正常。计时器似乎慢了下来。发帖大约需要5分钟。我试过获取wake lock和setforegroundactivity,但没有任何效果。有什么想法吗

它作为一项服务运行,我将其用于wake lock:

PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
这里的示例是设置前景:

我也试着用调试器检查它能做什么,但是当USB连接时一切都正常

更多详情: 为了定期检查,我使用以下方法:

Private void startCheck() {
mCheckHandler.sleep(30000);
}

    private CheckHandler mCheckHandler = new CheckHandler(); 
     private class CheckHandler extends Handler {  
            @Override  
            public void handleMessage(Message msg) {  
                Pservice.this.startCheck();
            }  

            public void sleep(long delayMillis) {  
              this.removeMessages(0);  
              sendMessageDelayed(obtainMessage(0), delayMillis);  
            }  
          };  

我将它设置为每次检查互联网时获取唤醒锁。现在工作正常:)感谢您的帮助:)

当屏幕关闭时,设备最终将进入低功耗状态。这种低功耗状态基本上意味着您的代码将不会被执行。之所以需要5分钟,是因为其他应用程序正在唤醒设备,然后你的应用程序有机会再次运行

通过USB连接设备,可以防止出现低功耗状态


听起来好像你的唤醒锁实际上没有被获取,或者释放得太快。

你在其他设备、ROM、模拟器上测试过吗?有时,一个简单的设备制造商的代码问题会导致类似的问题


您使用的是什么设备和rom?

当屏幕关闭时,我会在我的android设备上设置时钟

此外,你提到:

我也试着用调试器检查它能做什么,但是当USB连接时一切都正常


尝试在不使用USB电源的情况下进行调试,或者只使用日志记录。

手机没有心情耗尽电池电量/有用的评论(说真的,这太模糊了。更具体地说你是怎么做的,用小的代码示例来说明-否则我们只能猜测)你给出的链接和代码与你的问题无关。请提供更多详细信息。我将其设置为在每次检查互联网时获取唤醒锁。现在它工作得很好:)谢谢你的帮助:)