gpt4 book ai didi

android - 哪个更适合后台服务 WakeLock 或 startForeground

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:34 25 4
gpt4 key购买 nike

诚然,我只是在这里进行黑客攻击,所以我想了解一些知识。

我有一个在后台运行的服务连接到另一个线程,该线程对计时器进行倒计时。我遇到了一段时间后倒计时死亡的问题,并认为这是由于服务的垃圾收集造成的。我似乎已经使用 startForeground 解决了这个问题(并且没有看到真正的电池使用)。现在我了解了唤醒锁,关于何时使用唤醒锁是否有任何最佳实践?

谢谢!

最佳答案

I have a service I run in the background connected to another thread that counts down a timer.

请使用AlarmManager,这样您的服务只需要在实际工作时才在内存中,而不仅仅是看着时钟滴答作响。用户对 Android 最大的提示之一是开发人员创建的所有这些阻塞他们手机的背景东西。

I seem to have fixed the issue (and see no real battery use) using startForeground.

startForeground() 背后的要点是表明您的服务正在不断地为用户提供值(value),这样用户就会注意到服务是否因等待时间过长或内存不足而被回收状况。坐着看着时钟滴答作响不是“持续为用户提供值(value)”。请使用AlarmManager,您将不需要startForeground()

Now I read about wakelocks, are there any best practices on when to use one or the other?

WakeLock 保持 CPU 开启(可能还有其他东西,比如屏幕)。它与 startForeground() 关系不大。如果您使用 AlarmManager,根据您正在做的工作,您可能需要一个 WakeLock 来确保设备在您执行定期操作时保持唤醒状态

关于android - 哪个更适合后台服务 WakeLock 或 startForeground,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038967/

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