【问题标题】:How to reduce battery usage of app?如何减少应用程序的电池使用量?
【发布时间】:2017-10-05 04:22:46
【问题描述】:

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

在安卓中:

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

this.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn);

在 iOS (AppDelegate.cs) 中:

UIApplication.SharedApplication.IdleTimerDisabled = true;

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

如果我做错了什么,谁能帮助我,并建议我解决电池使用问题的任何想法。

【问题讨论】:

  • 嗨 stedy。你能为我的问题提出一个解决方案吗
  • 您需要防止屏幕锁定或可以让应用程序在屏幕锁定期间运行?
  • 是的 Janson,我在后台运行代码时也做了同样的事情。但是该应用程序正在耗尽电池电量。所以请提出任何想法来减少电池使用量以及使用我的功能。

标签: xamarin.ios xamarin.forms xamarin.android battery-saver


【解决方案1】:

而不是使用“UIApplication.SharedApplication.IdleTimerDisabled = true;”为防止手机进入睡眠模式,您可以尝试使用“背景位置”吗?

您可以查看this Demo app。

【讨论】:

  • 感谢 Janson。它适用于 iOS,但我可以为 Android 做什么?
  • 请注意,这是一个“Xamarin”解决方案,而不是“Xamarin.Forms”。它包含适用于 iOS 和 Android 平台的演示代码。
  • 感谢您的回复 Janson 我正在做一个跨平台的 xamarin.forms 应用程序
  • 不幸的是,并不是所有的东西都可以抽象出来,所以 Xamarin.Forms 有它的限制。下面的 URL 是 Xamarin.Forms 后台的参考(arteksoftware.com/backgrounding-with-xamarin-forms),你可以看看并尝试实现位置服务与它。希望它可以帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-28
  • 2020-12-24
相关资源
最近更新 更多