android - Cordova/Html5 地理定位比本地地理定位慢?

标签 android html cordova geolocation

我有一个带有地理定位插件的 cordova 应用程序:https://github.com/apache/cordova-plugin-geolocation

我的很多用户报告说我的应用中的地理定位速度很慢(他们所说的慢是指大约 6 秒)。 他们说当我们使用 Waze 时,需要 2 秒...

我也在 SO 上找到了这篇文章: Why is HTML5 geolocation slower than native on Android?

我已经使用了 Cordova crosswalk 插件:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

但它不会改变地理定位的性能。

用户有很多不同的手机(三星、索尼、LG 等),但所有手机似乎都需要 6 秒。 我使用 EnableHighAccuracy false 以获得更好的性能。

有什么想法吗?

最佳答案

问题是实际上有 two APIs用于 GMS Android 发行版中的地理定位。一system API另一个是 GMS . native 应用程序可能使用 GMS 实现,这实际上是所有使用它的应用程序的地理定位服务聚合器。这就是为什么可以使用此 API 如此快速地获取位置信息的原因。

较旧的 webViews 肯定使用 Android 系统 API,因此它们速度较慢,甚至根本无法获取位置,而其他应用程序可以。您可能想使用这个 cordova-plugin-locationservices插件,它使用 GMS 作为位置提供者(或者一些分支,因为它现在看起来已经被废弃了)。

但是,我认为自从 Android 7 及更高版本上的 Chrome WebView 以来,webView 最终也使用了此 API,因此问题最终应该会自行解决。

关于android - Cordova/Html5 地理定位比本地地理定位慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32364097/

相关文章:

ios - Objective c-Symbolication 问题 Error : "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60

angularjs - Paypal在单页应用中的实现

android - 如何使用 View 的中心作为 RelativeLayout 内的引用点

java - MenuItems 的图标填充为灰色,因此不显示图像

javascript - 隐藏除被单击的元素之外的所有元素

JavaScript 设置图像/元素源/属性未更新图像/元素

Android向fragment中的listview添加标题

android - 如何使用代码在 android 中设置墙纸?

javascript - 如何将链接定向到加载到另一个页面上的 iframe 中的页面,并通过单击将其滚动到某个位置?

android - Cordova 向 AndroidManifest.xml 添加不必要的权限