Ale*_*hel 2 android google-play-services
谷歌在这里说:
Google Play服务位置API优先于Android框架位置API(android.location),作为向您的应用添加位置感知的一种方式.如果您当前正在使用Android框架位置API,强烈建议您尽快切换到Google Play服务位置API.
任何人都可以向我解释为什么(如果我)需要切换到新的API?
我认为核心区别在于FusedLocationProvider使用物理传感器和谷歌播放服务,其他(位置管理器/位置列表器)使用物理传感器,如gps和网络.
FusedLocationProvider
FusedLocationProvider使用硬件和Google Play服务的组合来查找请求的上下文(位置).
优点:
它提供更好的准确性和更少的电池消耗,因为它在gps和基于WiFi的位置之间切换.
通过使用位置缓存来避免繁重的处理.如果用户拥有许多位置感知应用程序,则不会浪费时间和资源来等待获取新位置并使用之前的位置.
Google Play Services 3.2包含对基于位置的服务的多项增强功能.融合位置提供程序现在支持在请求位置更新时选择低功耗模式选项,以及注入模拟位置的功能 - 允许您在各种模拟条件下更有效地测试应用程序.博客
当希望节省电池电量并使用粗略更新时,FLP不使用全球定位服务(GPS),而是使用WiFi和Cell塔信号.
Fused API提供3个位置提供程序.
HIGH_ACCURACY模式使用所有位置提供程序
BALANCED_POWER模式排除gps
NO_POWER模式使用其他应用程序的位置
缺点
定位管理器使用gps是缓慢但准确的,它是精确度和电池消耗之间的权衡.
如果您打算在亚马逊,F-Droid或其他任何Play商店中发布它,请使用LocationListener或实现两者.有不少人不希望谷歌跟踪他们的一举一动
对我来说,位置管理器更准确,因为它在所有平台上使用,不需要谷歌游戏商店.但它需要一些时间和位置检测速度取决于一些因素,如你是否在开放的地方,天气等