Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 计时器与后台服务、电池、Xamarin c#_Android_Xamarin_Service_Timer_Background - Fatal编程技术网

Android 计时器与后台服务、电池、Xamarin c#

Android 计时器与后台服务、电池、Xamarin c#,android,xamarin,service,timer,background,Android,Xamarin,Service,Timer,Background,我需要每15分钟做一些计算,无论应用程序是在前台还是在后台 首先,我实现了一个更复杂的后台服务,它有一个待定的意图、接收器和一个报警管理器,每15分钟触发一个函数。然而,我意识到我可以通过使用一个简单的计时器来达到同样的效果 我正在用C#Xamarin编程 我只是想知道哪个版本更高效,哪个版本消耗的电池电量最少 谢谢AlarmManager是一个足够的解决方案。这是一种传统的周期性工作解决方案。然而,需要注意的是,人们滥用它,它会严重影响电池。它还有其他问题,但我不会在这里讨论 我建议使用Job

我需要每15分钟做一些计算,无论应用程序是在前台还是在后台

首先,我实现了一个更复杂的后台服务,它有一个待定的意图、接收器和一个报警管理器,每15分钟触发一个函数。然而,我意识到我可以通过使用一个简单的计时器来达到同样的效果

我正在用C#Xamarin编程

我只是想知道哪个版本更高效,哪个版本消耗的电池电量最少


谢谢

AlarmManager
是一个足够的解决方案。这是一种传统的周期性工作解决方案。然而,需要注意的是,人们滥用它,它会严重影响电池。它还有其他问题,但我不会在这里讨论

我建议使用
JobScheduler
进行更高效的后台工作。
JobScheduler
将通过自己实现的
WakeLock
处理
唤醒
,并为我们提供一个API,我们可以指定某些标准来控制完成任务所需的内容(网络等)。如果它不能满足我们的标准,我们将有一个回调,然后我们可以找出如何匹配它