在此之前,我曾经发布过微头条《百度输入法占用内存突然暴涨》。当时我使用的百度输入法,内存占用达到了令人震惊的628兆。
经过多次测试,终于查清百度输入法内存暴涨的原因。
我一直怀疑可能和词库有关,因为出现这种情况之前我曾经进行了词库操作,将搜狗输入法标准词库和微软拼音词库导入了百度输入法。完成之后导出的用户词库达到了51M。
到底是不是这个原因呢?今天我重新安装了百度输入法进行了专门的测试。
在安装百度输入法新程序完成之后,在未导入和安装任何词库的情况下,百度输入法的内存占用是很小的,只有13.5M。
然后,我们导入稍早备份的体积小一些的词库看看会怎么样。导入的词库体积为10M,未安装其他任何词库。
导入之后,百度输入法的内存占用明显提高了两倍以上,达到了34.6M。
如果将用户词库清空,百度输入法的内存占用就又回到了初始的13M左右。当用户词库达到了50M的时候,就出现了本文开始提到的内存占用暴涨的情况,达到罕见的628M。
此后又进一步进行了测试,在导入用户词库之后,如果继续安装官网下载的分类词库,内存占用同样会随着安装词库的增加而增大。安装十几种词库,内存占用就会达到200M左右。
只要安装了官网词库,内存也会暴涨
而且只要安装了官网词库,内存激增,此时如果你删除官网词库,内存依然会增加。是否官网词库和用户词库发生冲突?不得而知。
删除已安装的官网词库,内存依然会继续暴涨
因此,测试的结论就是:百度输入法内存占用问题实际上与整个词库大小都有关系。百度输入法的内存占用会随着用户词库的增大而暴涨,也会随着官网词库的增加而暴涨。
内存占用随着用户词库的增大而暴涨应该是是一个重大BUG,至少这种情况在搜狗输入法、手心输入法和QQ输入法均未出现过。事实上我现在电脑里的手心输入法和QQ输入法的词库都和百度输入法一样,导入了搜狗输入法和微软拼音输入法的大词库,但均未出现内存占用增大的情况。按照这个BUG的逻辑,用户每天使用输入法,用户词库都会持续增大,即使是不导入第三方词库,内存占用也会随着用户的使用时间而增高。
从功能上说,百度输入法在字头识别、新词学习、词频调整等方面都是很出色的,仅次于手心输入法,优于搜狗输入法和QQ输入法。而且它在导入其他词库的时候会自动合并去重,这个功能也相当不错。如果能够修正内存暴涨这个BUG,是很值得持续使用的。
另一个方面,百度输入法的词库是一个弱项,从百度输入法官网下载的词库,虽然看上去品类繁多,但每个词库包含的词条都不多,最大的也就2M左右。这就是为什么我要导入搜狗输入法和微软拼音的词库的原因了。其实只要导入了这两个词库,百度输入法官网的词库几乎可以一个都不装,仅仅依靠用户词库就已经足够了。
♥
───────────────
本文系阴山原创,转载请注明出处。