Xamarin.ios 如何减少应用程序的电池使用?

Xamarin.ios 如何减少应用程序的电池使用?,xamarin.ios,xamarin.forms,xamarin.android,battery-saver,Xamarin.ios,Xamarin.forms,Xamarin.android,Battery Saver,我正在开发一个应用程序,每10-20秒跟踪一次用户位置。为了使其在后台和移动锁定阶段工作,我必须进行以下代码编辑: 在Android中: 我添加了“Wake_Lock”权限,并在MainActivity.cs中添加了一行代码,如 this.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn); 在iOS(AppDelegate.cs)中: 这使得功能很好,它每10秒跟踪一次位置,即使在

我正在开发一个应用程序,每10-20秒跟踪一次用户位置。为了使其在后台和移动锁定阶段工作,我必须进行以下代码编辑:

在Android中:

我添加了“Wake_Lock”权限,并在MainActivity.cs中添加了一行代码,如

this.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn);
在iOS(AppDelegate.cs)中:

这使得功能很好,它每10秒跟踪一次位置,即使在后台,移动设备也被锁定,这很好。但通过添加此代码,应用程序的电池使用量大幅增加

如果我做错了什么,有人能帮我解决电池使用问题吗?

请不要使用“UIApplication.SharedApplication.IdleTimerDisabled=true”;要防止手机进入睡眠模式,请尝试使用“后台位置”好吗


你可以在演示应用程序中查看。

你好,stedy。你能为我的问题提出一个解决方案吗?你需要防止屏幕锁定,或者可以让应用程序在屏幕锁定期间运行?是的,Janson,我在后台运行代码时也做了同样的操作。但是应用程序正在耗尽电池。因此,请在使用我的应用程序的同时提出任何减少电池使用的建议功能。谢谢Janson。它适用于iOS,但我能为Android做些什么?请注意,它是一个“Xamarin”解决方案,而不是“Xamarin.Forms”。它包括iOS和Android平台的演示代码。感谢您的回复Janson我正在做一个跨平台的xamarin.forms应用不幸的是,并不是所有东西都可以抽象,因此xamarin.forms有它的局限性。下面的URL是xamarin.forms backgrounding()的参考,你可以看看并尝试用它来实现定位服务。希望能有所帮助
UIApplication.SharedApplication.IdleTimerDisabled = true;