背景
我正在开发一款在Android手机上运行的研究应用程序。简而言之,只要手机处于打开状态并且定期从手机上的许多组件和传感器获取信息,应用程序就会运行。该应用程序是尽可能少地打扰用户。话虽这么说,但是它太快地耗尽电池并迫使用户每天充电。这根本不行。
为了试图弄清楚如何改善这种情况,同时也在开发应用程序的同事让应用程序运行了很长一段时间,并注意到最大的电池耗费是WiFi。我目前的想法是在不使用WiFi时手动关闭WiFi以节省电量。 AFAIK,Android使用PSM for WiFi来实现这一目标,但似乎还不够。
问题
有没有办法“提升”Android的PSM?或者,if there is not as this question suggests,有没有什么方法可以安全地打开和关闭WiFi而不会对用户产生负面影响?即,有没有办法告诉哪些应用程序正在使用WiFi并在没有时将其关闭?标准应用程序(例如Web浏览器和电子邮件客户端)是否使用WiFi locks来防止WiFi在工作时被关闭?
非常感谢任何有关如何开始解决此问题的建议。有关Android PSM如何工作,生效所需时间或与问题相关的任何信息的信息都非常受欢迎。
谢谢你的时间!
答案 0 :(得分:0)
有没有办法“提升”Android的PSM?
不是通过Android SDK。
即,有没有办法告诉哪些应用程序正在使用WiFi并在没有应用程序时将其关闭?
操作系统已经这样做了。
标准应用程序(例如网络浏览器和电子邮件客户端)是否使用WiFi锁定来防止WiFi在工作时被关闭?
有些人可能会这样做。欢迎您search the Android source code找出答案。当然,请记住,没有“标准应用程序” - 我认为你正在考虑那些属于Android开源项目的应用程序。
非常感谢任何关于从何处开始解决此问题的建议。
找出你自己的代码中效率低下的地方,特别是在这里:
只要手机处于打开状态并且定期从手机上的许多组件和传感器获取信息,应用程序就会运行。
如果设备在代码未运行时表现良好,并且在代码运行时设备运行不正常,则问题出在代码中。相反,如果设备即使代码没有运行也不能正常运行,那么还有其他东西正在发生(设备缺陷,固件缺陷,流氓应用程序等),但它可能与StackOverflow无关。