当屏幕关闭时,Android“变慢”
我正在制作一个每30秒发布到互联网上的应用程序。一切正常,直到屏幕熄灭。计时器似乎减慢了。需要5分钟才能发布。我试图获得唤醒锁和setforegroundactivity,但没有任何工作。这里的任何想法?当屏幕关闭时,Android“变慢”
其作为服务运行,我用这个唤醒锁:
PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
而且这里的例子来设置前景色:http://developer.android.com/reference/android/app/Service.html
我也试着来检查它可以使用调试器,但当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连接设备,可以防止发生低功耗状态。
这听起来像你的唤醒锁实际上并没有被收购或它太快被释放。
我每次检查互联网时都会设置它以获取唤醒锁。现在它工作正常:)感谢您的帮助:) – user952725
你测试过任何其他设备,ROM,仿真器吗?有时候设备制造商的代码可能会导致类似问题的一个简单问题。
您使用的是什么设备和光盘?
我一个人积极降低我的android设备,当屏幕关闭。
另外,你提到:
我也试着检查什么可以使用调试器,但USB连接时,一切工作正常。
尝试使用ADB Wireless进行调试而不使用USB电源或只是使用日志记录来代替。
手机没有心情让它的电池耗尽?/usefulcomment *(严重的是,这太模糊了,要更具体地说明你如何做事,用小代码示例说明 - 否则我们只能猜测)* – 2011-09-19 13:41:50
链接和您提供的代码与您的问题无关。请提供更多细节。 – Ronnie