问题现象
高分屏下,***图标显示模糊
测试小A报了一个bug,高分屏下,输入***,输入法窗口中的***图显示模糊
Bug报出去之后,就会有开发小B喊话:你怎么出现的,我这里没有问题啊
于是找小C的机器看一下,结果小C的机器也没有问题
后来找了另外其他人的机器,尝试,只有一个是有问题的
小A陷入深深的疑惑,为何能在自己的机器上出现呢?这个环境没有什么特别的啊?输入法版本,系统版本,都是一样的
小D介入来协助定位问题,小D对问题进行了梳理,发现:
1)小A习惯性的在notepad中输入
2)开发小B在Word中查看的
3)小C在微信中查看的
4)其他人同样都是直接在当前使用的APP中直接查看的,有Word,有微信,有浏览器,5)同样存在问题的是在notepad输入的
看到这里,小D有了猜测:notepad中显示有问题
于是回到自己的机器上,打开了一个notepad,输入,发现没有问题o(╥﹏╥)o
为什么呢?
到小A的机器上,打开了Word,输入,发现没有问题,又打开了微信,也没有问题
至此,小D基本已经确认问题了,但是还存在一个疑问,为何自己机器上的notepad没有问题呢
回到自己的机器上,尝试了其他的APP,如Word,微信,浏览器,都没有问题
小D又梳理了一下问题的过程和情况,想到了一个可能性:难道是32位和64位的区别
于是小D打开了进程管理器,看了一下进程的情况,又从另外一个位置打开了notepad,输入,存在问题
问题解决
至此,小D完全定位了该问题,得出结论:
在64位进程中,显示有问题,在32位进程中,没有问题
开发小B顺着这个方向,很快找到问题原因:本次更新的64位的库文件更新失败了
问题分析
再次分析一下问题的过程:
1)报问题时,没有尝试其他进程
2)在其他机器尝试时,没有关注当前使用进程,以至于部分进程存在问题没有及时发现
3)对进程情况了解不足
默认情况下,notepad随系统,也就是说当前是64位系统,默认启动的是64位的notepad,而小D机器机器,之前进行过处理,经常启动的路径中是32位的notepad,QQ、微信这些都是32位的进程
总结
在输入法项目中,32位进程和64位进程有什么区别呢?有哪些需要注意的地方呢?
小D跟开发了解了一下问题的原因,只因为动态链接库
所有区分32位和64位的动态库都需要关注在32位APP和64位APP
32位的进程中,加载的是32位的动态库
64位的进程中,加载的是64位的动态库
不止是进程,同样还需要关注的还有32位系统和64位系统中的表现