QPM 之缘起

QPM 开源地址:https://github.com/ZhuoKeTeam/QPM

曾经我和你们一样,成天疲于业务开发,一天天除了加班,还是加班。可是呢,bug 还是不断,看着人家的 app 那么流畅,为啥我做的这么挫?What’s fuck! 慢慢的,掌握到一些性能优化的技巧后,熟练的搞起优化,app 就不再那么卡了,看着得意之作,心里满满的喜悦。

缘起——GT

当时看到腾讯 GT 的悬浮窗,眼前一亮,这个东西好使,不错不错。但是时间就了以后,发现每个手机要看数据必须先安装一个 GT,而且有些功能需要 root 以后才能查看。我想我们 app 中的某些常变的数据要是能展示到 GT 的悬浮窗就方便很多啦,于是尝试把 GT 放到我们 App 里面去,此过程超级麻烦,好不容易加进去了,结果我们的 App 直接增大了 3MB, 虽说我们的 App 已经 70MB 了,增加 3MB 也没事,但是我怎么能忍受得了,一个组件就要增加 3MB 呢? 于是我想结合我们 App 的特性,自己搞一个 QPM,功能很简单,把一些 GT 里面的数据展示到 QPM 中,于是参考 GT,开始实施。

轮子已经有了,干嘛还要再造一个轮子呢? 其实不然,虽然有了轮子,但是这个轮子和我的车型号不匹配嘛,无法发挥到极致。于是参考轮子的大体框架,改造成属于我们自己的轮子。贴个花边,换个螺丝钉,弄个小号的。哈哈哈,最后终于弄出了一个简易版本,但是太粗糙了,我们自己都不想用。

缘起——FPS

突然接手一个老项目,啥都不太了解,虽然 UI 界面卡卡的,但是不能轻易优化,万一优化后,背锅咋弄?就先这样吧,直到某一天老大说卡的不行啦,必须优化。好吧,那就慢慢优化吧。可是心里总没谱,怎么样算优化好呢? 没个啥指标的,还真不好弄。假如有一个工具可以告诉我哪些界面卡? 卡到什么程度,优化之后可以达到什么样的效果,该多好呀。在某些手机上有系统自带的 FPS 指标,可是其他手机没有嘛,总不能用该手机作为评判标准吧。

缘起——栈顶 Activity 名字

想起之前看同事的手机,每打开一个 App, 就能显示当前 App 的包名和当前的 Activity 的名字,感觉很不错,但是没啥用吧。他说:『我刚来,老大分配了一些任务,但是我不太熟悉代码,具体页面怎么查,不是很方便,有这个就可以轻松搞定啦!』 很有道理嘛,可以加一个。某天我在修复 bug 的时候,真找不到页面,想问问业务同学,这是哪个页面,他直接让我用命令行获取栈顶 Activity 名字,而之前同事说的那个插件应用,需要翻墙下载。从此,我坚定了必须要把这个功能加到我的 QPM 中,我想让跟我遇到过同样问题的人,省去这些麻烦。每次小小的进步,之后回头看那就是一大步。

缘起——屏幕录制

功能都差不多了,突然有天,一个测试同学,给群里扔了一个小视频,是出现某个 bug的视频, 用另外一个手机录屏的。我在想要是能把这个加到 QPM 里面就好了。过来几天,我手机上出现了一个问题,我用小米自带的录屏工具,轻松就录制了,发给大佬们。但是大佬问我,怎么录制呢? 我说用系统自带的工具,他说他录制不了,随后让他下载软件进行录制。这个过程感觉挺麻烦的,更加坚定了我的决心。经过查询原来 Android 5.0 以上系统就提供了方法哈,那我就直接放到我们的 QPM 中,之后遇到这类需要截屏,但是手头没工具的情况,就可以直接开启 QPM 录屏了,又是一个棒棒哒的功能。

你可能感兴趣的:(QPM 之缘起)