我有一个VOIP应用程序,我希望始终在后台运行,以使其响应来电。通过一些论坛阅读我发现在后台运行应用程序会导致电池耗尽。
我是否应遵循良好做法以便在后台运行应用程序?
答案 0 :(得分:3)
通过一些论坛阅读我发现在后台运行应用程序会导致电池耗尽。
更重要的是,让一直运行的东西会增加你耗尽电池的机会。
我是否应遵循良好做法以便在后台运行应用程序?
作为VOIP应用程序已经违反了一些“良好做法”。例如,您需要(尝试)拥有一个永远运行的服务,以维护与VOIP服务器的开放套接字连接。而且,根据您的网络设置方式,您可能需要尝试维护WifiLock
,这将耗尽电池。
一般来说,您只是希望确保您的服务尽可能少地 ,除非正在进行通话。例如,虽然您可能需要定期将数据包发送到VOIP服务器以保持连接处于活动状态,但请尽量不要这样做。
答案 1 :(得分:2)
有许多智能VoIP应用程序使用推送通知功能。这不会占用太多电池,但你必须拥有一致的互联网连接。一个这样的选择是Axvoice。在http://www.axvoice.com/support/mobile-voip-applications.html
查看他们的应用它们也会像其他应用程序一样在后台运行,但Axvoice和其他应用程序之间的区别在于您可以减少电池消耗,因为它不会一直与实时服务器通信。请看一下:http://www.wikihow.com/Save-Battery-Power-on-an-Android
答案 2 :(得分:1)
使用广播接收器。它记录在这里
http://developer.android.com/reference/android/content/BroadcastReceiver.html
当通过系统广播指定的广播时,BroadcastReciever将执行它的代码。换句话说,当您收到呼叫时,系统会发出一个广播,说有来电。如果你的接收器被用来接收那个广播而不是它会做出反应。可以想象它就像Android系统正在播放许多不同的广播电台,而BroadcastReciever就像收音机一样。您可以将其设置为拾取所需的任何广播,并在执行时执行一些代码。