gpt4 book ai didi

android - 如何在待机模式下不让线程自行停止?

转载 作者:行者123 更新时间:2023-11-29 00:39:01 25 4
gpt4 key购买 nike

在我的应用程序中,我在与主线程 (UI) 不同的线程中创建了一项服务。然后,在服务中,我创建了另外 3 个在后台无限期执行的线程。但是一旦手机进入待机模式,这些线程就会暂停执行!

如果我通过 USB 数据线将手机连接到电脑,我会看到线程正常工作,即使在待机模式下也不会挂起主题。

但是如何让线程在正常执行时不出现这种行为呢?

发送

已解决:

我设法简单地通过使用 PowerManager 对象来实现这一点,该对象获取一个 PARTIAL_WAKE_LOCK,使 cpu 从 acquire() 到 release() 保持 Activity 状态。

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
..CPU will stay on during this section..
wl.release();

最佳答案

我设法简单地通过使用 PowerManager 对象来实现这一点,该对象获取一个 PARTIAL_WAKE_LOCK 使 cpu 从 acquire() 调用到 release() 调用保持 Activity 状态。

这样即使手机进入stanbdy模式,线程也一定会运行。

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
..CPU will stay on during this section..
wl.release();

关于android - 如何在待机模式下不让线程自行停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725711/

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