计步算法服务的分析与简述

欢迎Follow我的GitHub, 关于计步算法库的算法原理使用方法.

页面

本文的合集已经编著成书,高级Android开发强化实战,欢迎各位读友的建议和指导。在京东即可购买:https://item.jd.com/12385680.html

Android

计步器作为算法功能模块, 与业务模块分离, 解耦合. 这样也可以更加专注于算法的升级. 最新功能, 具体参考线上产品: 春雨医生, 春雨计步器. 我来简述一下计步器算法的实现原理, 给大家一些启发.

1. 算法

对于所有计步器而言, 早期必然是使用加速度传感器(Accelerometer Sensor)测量步数, 随后谷歌推出计步传感器(Step Counter Sensor), 由硬件或系统计算步数的变化, 使得算法简化. 有些手机, 未提供计步传感器; 有些手机, 在待机过程中关闭计步传感器.

简单介绍一下算法原理:

  1. 加速度传感器(Accelerometer Sensor):
    算法根据加速度传感器空间位置(XYZ轴)的变化, 绘制空间曲线, 根据两次波峰波谷之间的时间间隔, 判断步行或其他状态. 在短时间内出现连续波峰, 即为步行; 波峰出现的时间间隔较长, 则认为停止行走. 同时, 屏蔽轻微与初始扰动, 提升准确性; 通过调整参数, 适配不同手机的传感器差异, 提升鲁棒性.
  2. 计步传感器(Step Counter Sensor):
    算法读取计步传感器的数值, 与本地缓存数值匹配, 判断步数的增加与否. 在屏幕关闭时, 启动BatchMode模式, 配合协处理器, 延迟获取数值, 节约电量. 当计步传感器停止时(有些手机在屏幕关闭时会停止部分传感器), 自适应切换加速度传感器, 启动时, 再次切换计步传感器.
  3. 自适应性(Self-Adaption):
    根据系统状态, 优先选择计步传感器, 当计步传感器无法使用时, 选择加速度传感器.

关于服务保活:

  1. 计步服务单独使用一个进程, 保证内存较少, 低优先级被杀死.
  2. 设置AlarmManager定时器, 定时检测服务状态, 启动服务.
  3. 接收常规系统广播, 如网络, 电量, 充电等, 检查并启动服务.
  4. 将服务设置为前台服务, 提高进程优先级, 避免杀死.

关于反作弊:
已经根据手机状态, 添加反作弊功能, 防止恶意刷步.

关于省电:
在服务中已经使用多种电量优化措施, 内部测试, 电量消耗远低于竞品.
提供开关, 自行控制唤醒锁, 默认不使用唤醒锁.

2. 示例

计步算法与服务已经集成至独立Maven库或AAR库, 使用Intent发送计算后的数据(步数与运动时间), 供主App使用和展示.

动画

3. 模块

算法库使用模块化开发.

Modules

4. 合作

本算法目前仅在公司内部使用, 如需合作, 直接站内私信我.

OK, That's all. Enjoy it!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容