gpt4 book ai didi

屏幕关闭时的 Android "slows down"

转载 作者:行者123 更新时间:2023-11-29 22:20:03 28 4
gpt4 key购买 nike

我正在开发一款每 30 秒向互联网发布一次的应用程序。一切正常,直到屏幕熄灭。计时器似乎变慢了。发布需要大约 5 分钟。我已经尝试获取唤醒锁和 setforegroundactivity 但没有任何效果。这里有什么想法吗?

它作为服务运行,我用它来唤醒锁:

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 连接设备,可以防止出现低功耗状态。

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

关于屏幕关闭时的 Android "slows down",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471650/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com