起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8537|回复: 21

[处理中3] cordova-plugin-geolocation插件耗电量大的问题。

  [复制链接]

55

主题

207

帖子

551

积分

高级会员

Rank: 4

积分
551
QQ
发表于 2017-1-9 19:23:44 | 显示全部楼层 |阅读模式
在app中使用了cordova-plugin-geolocation插件。
使用方法是: 起一个线程每隔15分钟获取一次gps信息,并上报后台服务器。
现在发现,app运行过程中gps一致处于工作状态,耗电量极高,体验差。
按说,15分钟获取一次gps,不应该导致gps一直处于工作状态呀。
请问怎么减少gps工作的时间,降低耗电量,谢谢!
发表于 2017-1-10 09:55:34 | 显示全部楼层
请问你 起一个线程是怎么做的??
是在原生的一个server中实现的吗??
首先js中的代码是无法在后端执行的!(app必须处于激活状态)

看下代码,获取一次gps信息后,有没有关闭资源,该关闭的都关闭掉

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

55

主题

207

帖子

551

积分

高级会员

Rank: 4

积分
551
QQ
 楼主| 发表于 2017-1-10 10:23:56 | 显示全部楼层
liangyongfei 发表于 2017-1-10 09:55
请问你 起一个线程是怎么做的??
是在原生的一个server中实现的吗??
首先js中的代码是无法在后端执行的 ...

使用 setInterval 来做的。 android 使用 background-mode是可以后台运行的。

你说的关闭资源,是gps资源吗? cordova-plugin-geolocation没有看到关闭资源的接口啊,应该怎么关闭呢?
回复 支持 反对

使用道具 举报

发表于 2017-1-10 11:37:18 | 显示全部楼层
forrlx 发表于 2017-1-10 10:23
使用 setInterval 来做的。 android 使用 background-mode是可以后台运行的。

你说的关闭资源,是gps资 ...

background-mode  插件 我们这里人测试过,是有问题的!好像并不能一直正常运行!
你那里手机上是一直可以正常运行的吗??(没有时间限制吗?)

获取就是因为background-mode 这个插件消耗的资源!
你试试不做实时定位,只使用background-mode 运行一个setInterval  函数(比如打印日志,一段时间打印一次)
这样的话耗电量多吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

55

主题

207

帖子

551

积分

高级会员

Rank: 4

积分
551
QQ
 楼主| 发表于 2017-1-10 11:52:55 | 显示全部楼层
本帖最后由 forrlx 于 2017-1-10 11:54 编辑
liangyongfei 发表于 2017-1-10 11:37
background-mode  插件 我们这里人测试过,是有问题的!好像并不能一直正常运行!
你那里手机上是一直可 ...

background-mode  插件安卓系统是可以的,可以长时间运行。我这里试过5小时以上没问题。
我的手机有耗电统计功能,显示的高耗电主要是gps一直开启。
我试了不用后台运行插件,直接打包一个简单的按键获取gps定位功能。
发现,只要进行一次gps定位,gps就会一直开启,导致耗电量极大。
调用方法: navigator.geolocation.getCurrentPosition(success, fail,{                        timeout: 5000,                        maximumAge: 3000,                        enableHighAccuracy: false});


请看下附件图片
gps耗电.png
回复 支持 反对

使用道具 举报

发表于 2017-1-10 14:13:19 | 显示全部楼层
forrlx 发表于 2017-1-10 11:52
background-mode  插件安卓系统是可以的,可以长时间运行。我这里试过5小时以上没问题。
我的手机有耗电统 ...

那就是gps 一直处于定位状态!相当于实时定位,只不过你是15分钟获取一次地理位置信息而已!
可以地理位置开启后就没有关闭!

/Native/plugins/cordova-plugin-geolocation/README.md

你先看下文档吧!有没有关闭gps的方法!如果没有,只能自己实现!定位完成后需要关闭gps
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

55

主题

207

帖子

551

积分

高级会员

Rank: 4

积分
551
QQ
 楼主| 发表于 2017-1-10 15:25:20 | 显示全部楼层
liangyongfei 发表于 2017-1-10 14:13
那就是gps 一直处于定位状态!相当于实时定位,只不过你是15分钟获取一次地理位置信息而已!
可以地理位 ...

我在github上找到了一个新版本的,cordova-plugin-geolocation,使用时打包的时候出错了,麻烦看下原因。版本自带的cordova-plugin-geolocation插件太老了,13年的,新版本是16年的。

cordova-plugin-geolocation-master.zip

121.46 KB, 下载次数: 108

回复 支持 反对

使用道具 举报

发表于 2017-1-10 15:27:29 | 显示全部楼层
forrlx 发表于 2017-1-10 15:25
我在github上找到了一个新版本的,cordova-plugin-geolocation,使用时打包的时候出错了,麻烦看下原因。 ...

看下:http://docs.wex5.com/wex5-app-question-list-2051

id和包名是否一致??是否有依赖插件
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

55

主题

207

帖子

551

积分

高级会员

Rank: 4

积分
551
QQ
 楼主| 发表于 2017-1-10 21:56:24 | 显示全部楼层
liangyongfei 发表于 2017-1-10 15:27
看下:http://docs.wex5.com/wex5-app-question-list-2051

id和包名是否一致??是否有依赖插件 ...

嗯 是因为少了一个依赖包,已经能够正常使用了。
但是,仍然存在gps一直处于开启状态的情况。
怎么解决呀???
回复 支持 反对

使用道具 举报

发表于 2017-1-11 10:18:13 | 显示全部楼层
forrlx 发表于 2017-1-10 21:56
嗯 是因为少了一个依赖包,已经能够正常使用了。
但是,仍然存在gps一直处于开启状态的情况。
怎么解决呀 ...

如果插件没有提供关闭gps的能力,就需要自己找一个这样的插件进行关闭gps ~!

或者自定义corodva插件实现!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-14 19:35 , Processed in 0.062769 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表