6610出了新版的软件4.74,随之而来的,很多朋友发现了其在通讯录快速查找中的Bug,于是有了很多说法,“liu”姓问题最为引人注目 。
看了其他朋友的文章,我在自己的机子上做了长时间的测试,得出了一些结论 。
这个问题发生不是必然的,有些机子上有,有些机子上没有 。有与没有与你的电话簿储存的相关姓氏有很大关系,但与存储的先后顺序是没有关系的 。所以才会出现有的朋友说“自己的机上没有这种情况”,而有的朋友说“我有这种情况” 。详解如下:
第一,我们要搞清楚中文通讯录的姓名排序问题 。中文通讯录排序时,先比较第一个字的拼音,以拼音中的字母为单位,从做至右进行比较;根据26个英文字母的先后顺序,排在前面的就放在通讯录的前面;如果第一个字拼音相同的话,再比较第二个字的拼音;如果第二个字拼音也相同的话,比较第三个字的拼音;以此类推……
举个例子:“阿强”的拼音为“aqiang”,“安*”(“*”代表任意个文字)的拼音为“an……” 。由于“阿,a”在“安,an”之前,所以“阿强”是排在“安**”之前的 。
结论1:在6610的中文电话簿中,“阿强”是排在“安**”之前的 。
第二,我们要注意NOKIA的电话簿中的快速查找的原理 。在其快速查找时,是不区分中文的“姓”和“名”的,而是统一看作拼音来查找 。如果要问为什么,原因是中文博大精深,不好区分 。
也举个例子,对拼音“tangan”可以有两种理解,“tan gan,谭干”,另外一种“tang an,唐安”,再举一个,“jiangan”可以理解为“jian gan,简干”以及“jiang an,蒋安” 。对于中文的这个特点,NOKIA的软件工程师也无能为力 。(个人认为有更好的改良办法,见后)因此只好在快速查找时不区分中文拼音的“姓”和“名”,而统一作为连续的拼音来对待,即作为英文来对待 。也就是说:既然不好区分“tangan” 是“tan gan”还是“tang an”,索性不区分,就把他当“tangan” 。
有一点也可以证明它,如过单独存储了“爱瑶瑶”,在快速查找中,依次输入“aiyaoyao”可以正常显示“爱瑶瑶” 。也就是说,在快速查找中,是把其认为是连续的拼音 。
同时,对于“aqiang”和“an……”,由于把他们当成了连续的拼音,也就相当于英文 。但如果在通讯录选择“查找”(不是“快速查找”)时,因为不涉及到此问题,所以“查找”不受此类问题影响 。
结论2:在快速查找时,程序把“aqiang”和“an……”当成了连续的拼音,也就相当于英文 。
第三,这些问题都发生在可附加后缀音(对拼音来讲)的字上 。比如:“a”后加一个“n”就是“an”,“li”后加一个“u”就是“liu”,我先把容易发生问题的姓氏拼音列出一部分来:
【4.74版通讯录快速查找Bug的总结】原拼音所加后缀新拼音
a阿nan安
chen陈gcheng程
fan范gfang方
li李uliu刘
li李angliang梁
tan谭gtang唐
wan万gwang王,汪
yan阎gyang杨
zhan展gzhang张
现在我们进入实质性的讨论,对于上面提到了“阿强”和“安**”,当你按了一下2键,输入“a”,符合条件的按顺序依次有:“a”,“an”,“ang” 。由于结论1,“阿强”是排在“安**”之前的,按中文排列顺序,系统程序先将中文姓名中第一个字拼音为“a”的全部调出,(如果有“阿牛”,“阿华”,系统都会调出,且由于他们排在“阿强”之前,会先于“阿强”调出)即调出“阿强”进行比较,符合条件,显示“阿强” 。(如果有“阿牛”,“阿华”,同样可以显示得出) “a”调出完后,系统把“a”中最后一个“阿强,aqiang”与“a”进行比较,由于结论2,程序把“aqiang”当成了连续的拼音,按英文排序,“aqiang”已经超过了“a”;再用“阿强,aqiang”与“an”比较,又超出了;再用“阿强,aqiang”和“ang”比较,还是超出了 。所以系统认为已没有符合“按一次2键,表示a,an,ang”这个条件的,就结束了比较 。所以“an……”不被显示 。NOKIA的这种比较方法本意是通过筛选比较项而节省时间,加快速度,谁知却埋下了隐患 。
推荐阅读
- 苹果快速育苗注意要点
- 怎么煮红豆沙能快速软烂
- CAD怎么快速设置图层?
- CAD如何快速看图测房间面积?
- CAD迷你看图怎么快速导入图片?
- 床垫上的血迹干了怎么快速去除
- M55通讯录多音字BUG
- 6610 4.74版的BUG
- 水晶泥粘在纸上怎么把它快速去除?
- 如何快速申请小额贷款?小额贷款需要有什么条件?
