星期三, 九月 12, 2007

fcitx 内存处理?

使用htop很容易发现一个问题,当系统启动后,fcitx占用1M的内存,而当输入第一个汉字之后,fcitx的内存占用狂飙到17M,并维持这个峰值。

看了一下fcitx源码就很容易理解这个行为了,当用户第一次输入时,fcitx才开始加载码表,并且永不释放,我感到奇怪的是,为什么把码表全部放在内存里(因为现在的拼音输入法,码表还是挺大的,尤其是有大量词汇的时候)。

做了简单的实验,在加载完拼音单字码表后内存占用大约在4M左右,而加载完词组的码表后,就飙到了17M了。 我想如果能够优化一下的话,比如将词组通过数据库的形式放在磁盘文件中,那么就可以大幅降低这个内存的消耗了,毕竟输入法是个常驻内存的程序,17M的内存消耗还是太大了。

0 Comments:

发表评论

<< Home