Android 安卓GPS与电池使用

Android 安卓GPS与电池使用,android,gps,battery-saver,Android,Gps,Battery Saver,我有两个android应用程序A和B,它们都在根据不同的参数读取gps值。考虑到这两个应用程序都在设备上运行,以下哪种方法更好 A和B都是不同的应用程序,每个应用程序都有一个从GPS读取的组件 开发带有远程服务组件的第三个应用程序,以向a和B传输GPS数据 采用第二种方法可以最大限度地减少电池使用量,还是GPS组件可以读取一次并为所有进程提供服务,就像在操作系统中一样 请帮助关于位置策略的介绍中给出了一个很好的解释。我建议您看看页面上的代码示例 在你们两种方法中,我相信第二种方法更好,因为就电池

我有两个android应用程序A和B,它们都在根据不同的参数读取gps值。考虑到这两个应用程序都在设备上运行,以下哪种方法更好

  • A和B都是不同的应用程序,每个应用程序都有一个从GPS读取的组件

  • 开发带有远程服务组件的第三个应用程序,以向a和B传输GPS数据

  • 采用第二种方法可以最大限度地减少电池使用量,还是GPS组件可以读取一次并为所有进程提供服务,就像在操作系统中一样


    请帮助

    关于位置策略的介绍中给出了一个很好的解释。我建议您看看页面上的代码示例

    在你们两种方法中,我相信第二种方法更好,因为就电池使用而言,打开/关闭GPS是一种非常昂贵的操作

    GPS的电池耗电行为在卫星导航信息的初始采集期间最为明显。获取每颗卫星需要12到30秒,但如果需要完整的年历,这可能需要12分钟。在此期间,您的手机无法进入深度睡眠。A-GPS(辅助GPS)通过蜂窝数据网络甚至Wi-Fi向移动设备发送导航信息,部分解决了这一问题。由于这两种卫星的带宽都大大低于GPS卫星的50bps,因此为GPS天线供电或避免深度睡眠所花费的时间大大减少

    引自

    它是否与操作系统gPS组件将运行一次以服务所有用户相同

    一个GPS服务所有人。 没有一半的GPS节省了一半的电力。 但也有其他定位服务提供商,如手机塔和Wifi定位,它们耗电较少

    但是如果你需要GPS,那么有多少应用程序使用GPS服务是绝对没有区别的。
    如果启用GPS,它将使用全功率。

    为了兼容性和功能,我建议使用第三个进程或程序读取和输出GPS数据,因为来自GPS的多进程轮询数据效率较低

    让这两个应用程序读取单个GPS跟踪应用程序的输出,而不需要每个应用程序中的单个组件来读取,这也会更快

    出于功率的考虑,GPS将使用相同级别的功率,尽管如果由于两个应用程序使用它而使其更频繁地进行轮询,那么它可能会使用更多的功率-尽管数量可能是最小的,除非有持续的定位请求


    虽然这可能不是问题,但让第三个应用程序以特定的间隔轮询GPS将是最节能的,并且应用程序每次都可以从其输出读取数据,而不是搜索位置。

    我认为最节能的方法是使用应用程序A轮询GPS位置,通常情况下,在应用程序B中,使用并与一起使用
    setPriority()
    。正如文档中提到的,
    PRIORITY\u NO\u POWER
    仅当另一个应用程序获得GPS更新时才会使应用程序B获得更新(在本例中,应用程序A!!)。我还没试过,但应该能用。这无疑为您节省了额外应用程序的麻烦:)


    更多关于Google Play定位服务和的信息。

    第二种方法似乎更合适,但不确定电池电量是否耗尽。这取决于您如何实现它

    此外,我建议尝试使用被动提供者。请参阅以下链接帮助它工作:)

    http://fypandroid.wordpress.com/2011/04/11/298/