Android:使用FusedLocationProviderApi而不是Android框架位置API的优缺点是什么?

Ale*_*hel 2 android google-play-services

谷歌在这里说:

Google Play服务位置API优先于Android框架位置API(android.location),作为向您的应用添加位置感知的一种方式.如果您当前正在使用Android框架位置API,强烈建议您尽快切换到Google Play服务位置API.

任何人都可以向我解释为什么(如果我)需要切换到新的API?

Fas*_*iha 5

我认为核心区别在于FusedLocationProvider使用物理传感器和谷歌播放服务,其他(位置管理器/位置列表器)使用物理传感器,如gps和网络.

FusedLocationProvider

FusedLocationProvider使用硬件和Google Play服务的组合来查找请求的上下文(位置).

优点:

  1. 它提供更好的准确性和更少的电池消耗,因为它在gps和基于WiFi的位置之间切换.

  2. 通过使用位置缓存来避免繁重的处理.如果用户拥有许多位置感知应用程序,则不会浪费时间和资源来等待获取新位置并使用之前的位置.

  3. Google Play Services 3.2包含对基于位置的服务的多项增强功能.融合位置提供程序现在支持在请求位置更新时选择低功耗模式选项,以及注入模拟位置的功能 - 允许您在各种模拟条件下更有效地测试应用程序.博客

  4. 当希望节省电池电量并使用粗略更新时,FLP不使用全球定位服务(GPS),而是使用WiFi和Cell塔信号.

  5. Fused API提供3个位置提供程序.

HIGH_ACCURACY模式使用所有位置提供程序

BALANCED_POWER模式排除gps

NO_POWER模式使用其他应用程序的位置

缺点

  1. 位置管理器,使用gps虽然它需要电池,但它的工作没有网络.
  2. 室内精度仍然是一个问号,就好像你在室内使用应用程序其准确性不好.
  3. 定位管理器使用gps是缓慢但准确的,它是精确度和电池消耗之间的权衡.

  4. 如果您打算在亚马逊,F-Droid或其他任何Play商店中发布它,请使用LocationListener或实现两者.有不少人不希望谷歌跟踪他们的一举一动

对我来说,位置管理器更准确,因为它在所有平台上使用,不需要谷歌游戏商店.但它需要一些时间和位置检测速度取决于一些因素,如你是否在开放的地方,天气等

相关材料