在我们的安卓版按键率评测的自动化处理整体流程主要包括三步,模仿键入操作,实时读取输入法的反馈与数据存储,以及数据分析。整个自动化处理的流程模拟人的真实操作环境,并能通过读取输入法的实时反馈判断输入法的命中情况并存储处理日志,从而分析输入法的输入准确率等性能,并辅助定位问题,为后续输入法的改进提供建议。

一.键入操作

第一步模仿键入操作。中文拼音输入法用户的主要输入包括拼音串与格式化符号。拼音输入法分9键和26键两种。上图给出评测中所用的数据集的样例。

以上样本中,左侧是9键的评测集,右侧是26键的评测集的部分数据。评测样本中包括,格式化字符“&”,“#”与“*”,分别表示着联想,一句输入结束与删除上一个汉字。

二.读取实时反馈与数据记录

第二部分为读取输入法的实时反馈与数据记录。获取输入法的实时反馈,可以判断候选是否达到预期的命中效果。如是否首选命中,首屏是否命中,并进行按键率,如首选按键率,联想按键率等的数据统计。

获取输入法的实时反馈的流程步骤是:

首先完成一次按键输入,在我们的项目中,主要借助于MotionEvent事件模拟手指的按下与抬起操作。

如上所示,首先定义了两个MotionEvent,最终借助于google提供的基础测试类Instrumentation实现这个touch操作。

接着获取系统打印事件的日志。这一部分主要通过hook方法获取Android系统的实时反馈。小编公众号中曾做过介绍。感兴趣的读者可前往查看。

然后是分析日志,定位相应候选,判断候选是否命中等。对于判断候选来说,首先确定候选的位置。我们可以看到,常见输入法的候选位置在首屏上基本上“行位置”是固定的。我们可以根据这一点,首先定位到候选的行坐标位置,继而根据该坐标值,在hook得到的系统日志文件中进行分析,定位到该次输入的候选。继而可以判断本次输入的候选是否命中测试样本的汉字。如对于首选命中率来说,我们只需要判断本次的候选的第一位是否命中即可。另外,候选的“行位置”存在着一定的变化性,这一部分具体做相应处理即可。

数据记录部分主要记录处理过程中获取的处理结果。如对于首选按键率来说需要判断并统计的项为是否首选命中。数据记录部分还需要记录下输入法处理的日志,如每一次输入产生的候选。这部分内容可以用于后续的错误分析与对输入法的改进。

三.数据分析

第三步结果分析的部分,即对上一步中获取的实时反馈进行分析。如,对于首选按键率来说。首选率为首选命中个数/有效输入样本数。首屏命中率则为首屏命中数/有效候选数。结果与日志文件如上图所示。

通过对按键率等的分析可以比较我们的产品与其它输入法的输入性能。通过对日志文件的分析,可以定位到问题所在。例如我们的评测过程中就曾发现过某个测试版本二三元词库不生效的问题。

评测过程中,需要根据日志文件分析评测是否有效。对于不同输入法来说,需要人为配置键盘位置。

欢迎交流~

hook 输入法 android,安卓输入法输入性能评测流程相关推荐

  1. 蜂巢输入法android,讯飞输入法Android新版 蜂巢输入模型智能进化

    讯飞输入法Android新版 蜂巢输入模型智能进化 2014年07月15日 17:03作者:厂商投稿编辑:肖授文章出处:泡泡网原创 分享 说起"蜂巢"立体输入模型,相信讯飞输入法的 ...

  2. 蜂巢输入法android,讯飞输入法Android新版蜂巢输入模型

    讯飞输入法Android新版 蜂巢输入模型智能进化 说起"蜂巢"立体输入模型,相信讯飞输入法的用户都不陌生.独家使用了三个专业输入引擎和三个云服务协同处理,实现语音.手写.拼音&q ...

  3. uygurqa输入法android,uygurqa输入法

    uygurqa输入法(Uyghurche Kirguzguch)是一款专门为维族用户打造的的手机输入法,可以支持多种语言的相互切换,操作起来也很简单,还拥有强大的词库资源,可以根据用户的输入习惯来进行 ...

  4. android 自动隐藏输入法,Android隐藏输入法

    输入法隐藏两种方式: /** * 隐藏输入法 * * @param myActivity */ public static void hideInput(Activity myActivity,Edi ...

  5. android 日语输入法,Android日语输入法Simeji使用示例

    MainActivity如下: package cn.testsimeji; import android.os.Bundle; import android.view.View; import an ...

  6. 讯飞输入法android版升级日志,讯飞输入法Android版7.0 实力解锁三大输入难题

    现代人的手机不是通讯工具而是一个伴侣,原本为了帮助我们更好的享受生活.提高效率,但现实情况手机却让我们变得低头不语.讯飞输入法一直致力于解放人们的双手和双眼,通过拼音输入到语音输入的小小改变,帮我们抬 ...

  7. android 输入法更换_详解安卓手机输入法和键盘切换方式的教程

    说道键盘也许大家都非常的熟悉,键盘有软键盘和硬键盘,如今大部分智能机上的就是软键盘,还有个别好几年前的手机呢使用的硬键盘,现在我们简单介绍一下键盘,键盘是用于操作设备运行的一种指令和数据输入装置,也指 ...

  8. 百度android输入法表情符号,百度输入法安卓5.8版推“史上最丰富颜文字库”

    这个暑假地球人的喜讯一波接一波,不久前北京张家口传来申奥成功的消息,首都北京成为地球上唯一一座举办夏冬两届奥运会的城市.而近日小鲜肉宁泽涛以47秒84的成绩夺冠,成为继王思聪后又一位"国民老 ...

  9. android需要电脑输入吗,Android 远程输入法,用电脑给手机输入文字

    来自微信的好友 @Simon 经常需要把电脑上的文字发送到手机上,但并不喜欢使用繁琐的 QQ.微信,想要一款远程输入法:我想找一款安卓上的输入法,以前用过,但是不记得名字了.这款输入法开启后,需要在局 ...

最新文章

  1. SQL Server 替换一个字段的特定字符
  2. 智能电源分配PDU应用
  3. HDU 1247 Hat’s Words
  4. navicat中文版安装
  5. Makefile中支持的函数大全
  6. 项目启动居然如此重要!
  7. Win7系统无法复制粘贴怎么解决
  8. 了解及优化常见的Linux系统服务
  9. Android开发笔记(五十四)数据共享接口ContentProvider
  10. Linux系统根据端口号查找项目路径
  11. SpringBoot与web开发
  12. C语言入门教程,C语言学习教程
  13. 立即寻址,直接寻址,间接寻址
  14. 用生活案例讲述:erp系统是什么?有哪些作用?
  15. 压测学习总结——高并发性能指标:QPS、TPS、RT、吞吐量详解
  16. 华为云OBS数据桶使用
  17. 数据库基础(面试常见题)
  18. postgresql 事务隔离级别与锁
  19. 远景(智能/能源/动力)2023秋招提前批!内推啦
  20. KITTI 相关信息汇总

热门文章

  1. Microsoft Office SharePoint Server 2007介绍
  2. 计算机考研分析题,2020计算机考研,易错题分析与常考点总结
  3. 虚拟机安装日志服务器,rsyslog日志服务器搭建
  4. 前端实现3d效果_前端动画效果实现的简单比较
  5. springboot 手动提交事务_面试官你都工作3年了,也做过5个项目了,怎么连事务机制都不会...
  6. 网页不够惊艳?优秀案例给你灵感
  7. 电商新春农历年春节海报还没设计?这是你需要的新年Banner灵感!
  8. 设计素材模板|艺术感中国风海报
  9. 可提高效率的网页设计PS插件
  10. UI设计组件|临摹学习的必备