【发布时间】:2015-11-28 14:35:03
【问题描述】:
我有一个带有地理定位插件的科尔多瓦应用程序:https://github.com/apache/cordova-plugin-geolocation
我的许多用户报告说我的应用程序中的地理位置很慢(他们所说的慢是指大约 6 秒)。 他们说当我们使用 Waze 时,需要 2 秒...
我也在 SO 上找到了这篇文章: Why is HTML5 geolocation slower than native on Android?
我已经在使用 Cordova 人行横道插件:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
但它不会改变地理位置的性能。
用户有很多不同的手机(三星、索尼、LG、...),但似乎所有手机都需要 6 秒。 我使用 EnableHighAccuracy false 以获得更好的性能。
有什么想法吗?
【问题讨论】:
-
“我的很多用户”:您是否在“良好的环境”(启用了 wifi/gsm/gps)中尝试了自己的设备?我认为这个问题是由于您的一些用户的位置不好造成的。
-
嗨,是的,我在室内尝试了 LG G3。 Waze 获取我的位置所需的时间少了 3 倍,而且我认为他们不会无限缓存我的位置。获得位置的平均时间是多少?我也看到了这个帖子:issues.apache.org/jira/browse/CB-5977我们在欧洲,我不知道它是否起作用,但只是为了确定
-
我见过。请记住,每个应用程序还可以采用一些缓存策略(或其他优化)来获得“更快的体验”,例如:立即使用最后缓存的位置并发出新的位置请求,完成后将更新用户位置。
-
是的,我知道。但即使在删除缓存或重新安装应用程序时,一些原生应用程序总是很快,并且在不到 2 秒的时间内获得经纬度。我只是想知道为什么^^也许我会使用无限缓存位置的策略并在后台检索用户当前位置。所以只有第一次使用需要 6 秒,我认为没有用户会抱怨 :)
-
运行到完全相同(6s)。似乎 Crosswalk 提供了自己的地理位置,它将覆盖插件(因此您实际上可以卸载插件 - 请参阅stackoverflow.com/questions/35489286/…)。但我不确定 crosswalk/webview 的地理定位实现是否是原因,因为我无法禁用它或强制使用地理定位插件
标签: android html cordova geolocation