移动 前端 Python Android Java程序员Android知识

LatinIME输入法源码解析-词库种类简介

2016-12-20  本文已影响0人  JulyZhang

介绍词库的优先级之前,先来简单的介绍下词库的类结构,如下图:

词库UML.png

词库的基类是Dictionary,派生类有5个,其中ExpandableBinaryDictionary又有3个派生类,分别是UserHistoryDictionary(历史记录词典)、ContactsBinaryDictionary(联系人词典)、UserBinaryDictionary(用户词典)


由此可见,输入法中的词库大致分四种:

在代码中也可以找到佐证,DictionaryFacilitator.java中可找到如下定义:

public static final String[] ALL_DICTIONARY_TYPES = new String[] {       
                    Dictionary.TYPE_MAIN,        
                    Dictionary.TYPE_CONTACTS,        
                    Dictionary.TYPE_USER_HISTORY,       
                    Dictionary.TYPE_USER};

那么这四类词库是如何管理协作、如何支撑输入法的高频查询、查询结果又是如何排序的呢,下一篇文章会先从分析各个词库的作用作为切入点,逐步分析每个词库的实现细节。

上一篇 下一篇

猜你喜欢

热点阅读