MIUI在短信里可以购买流量了,但你知道它是怎么实现的吗?

一直埋头开发,沉默了许久,终于又和大家见面了。什么也别说了,先晒一晒我们新上的成果吧!

以后流量不足了,就可以直接从短信点击购买咯,是不是方便快捷?

航班以后也可以直接点击查询咯,再也不想经历繁琐的:长按à复制à切换应用à粘贴查询了。

取火车票也更方便了。

每一个贴心的功能背后都凝聚着程序猿们好多的心血,咱们的短信智能识别也不例外。想给用户带来更多的方便,上更多的功能,识别的更准确,就要耗更多的系统资源。但是运行内存、处理器、内置存储,每一样在手机上都是那么珍贵。我们需要做的,就是不断优化、优化、再优化。

对每个功能而言,是选择模型识别,还是模板匹配?是资源预先加载,还是动态加载?方法不重要,效果才是根本。我们的程序猿做了大量的实验:模型、模板的加载速度,内存的消耗;识别、匹配的速度,内存的增长;知识点抽取结果的效果(准确率,召回率)…对这些都需要进行严格的试验。但是,识别的效果往往和性能成反比,工程师辛苦了好久提高了效果,却让识别变慢了,让机器变卡顿。效果和性能该怎么权衡?

然而,既然能做到更好的识别效果,我们就希望用户能体验到这样的效果。永远给用户最好的体验,这也符合MIUI一贯精益求精的态度。那我们就只能在不影响识别效果的情况下,提高识别性能:从底层数据结构到系统框架的优化,从引擎内核的优化,到资源的精简压缩,再到资源加载的策略…工程师们在能力范围内,几乎都做到了极致。在红米note的测试中,系统资源的平均加载速度从超过1秒降低到200毫秒以内,识别的平均速度降低到10毫秒以内,引擎的内存消耗降低了40%多。

引擎和资源包在用户手机中是彼此独立升级的,因此引擎和资源的每一次版本更新,都要做大量的兼容性测试(每一个版本的引擎都需要和所有版本的资源包进行测试;同样,每一个版本的资源包都需要和所有版本的引擎进行测试)。MIUI短信团队和测试团队也非常给力。在高峰时期,一周内会发多版引擎或资源包,我们的短信团队和测试团队几乎都以最快的速度反馈测试结果,然后我们新技术团队根据反馈迅速进行优化。

我们依然在为现有功能每一次细微的提升而继续努力着;同时,我们还在探索各种好玩的,给用户带来更好体验的东东。期待能再次和大家见面,为大家分享一些新的东西。

举报