SOUI官方论坛

 找回密码
 立即注册
查看: 576|回复: 5

启程输入法架构

[复制链接]
  • TA的每日心情
    开心
    前天 19:51
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    26

    主题

    303

    帖子

    1757

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    1757

    突出贡献优秀版主

    发表于 2019-10-30 14:34:40 | 显示全部楼层 |阅读模式
    启程输入法包含很多模块,核心就是两个:一个输入法接口,一个是输入法击键逻辑处理。
    输入法接口包含IME和TSF两种,代表微软2代输入法。输入法接口是在编辑器中打开输入法时需要加载的模块,是一个导出特定接口的DLL。
    由于编辑器程序可能是32位也可能是64位,因此输入法接口DLL也要对应的有32位和64位版本。
    一般的输入法都是把击键处理直接放到这个输入法接口DLL中。击键处理不仅要处理击键逻辑,还要负责加载皮肤,显示界面等。
    把这些代码全部放到输入法接口里,优点是由于都在同一个模块处理起来比较简单。
    但缺点更多:
    1、输入法接口模块会很大,4份输入法接口都要增大。
    2、输入法崩溃后,会导致宿主进程崩溃。这是最大的问题。现在输入法逻辑都很复杂,随便一个BUG都可能导致用户的工作全部作废。
    启程输入法的输入法接口只做最简单的按键转发,所有逻辑都在服务进程里处理。
    这样的好处首先是输入法接口功能最小化,逻辑简单,升级也通常不需要升级这些接口,稳定性好,不容易崩溃。
    其次就是所有界面相关的逻辑都在服务进程,服务进程只有一份,内存占用,磁盘占用都更少。
    当然也有缺点:
    启程输入法的服务进程默认是由输入法接口来启动的。在部分程序中(比如Edge),如果一个输入法没有经过签名,这个输入法是不允许在浏览器中启用第三方进程的。所以启程输入法在Edge浏览器中如果服务之前没有打开将不能使用。

    该用户从未签到

    2

    主题

    11

    帖子

    91

    积分

    24:00金丹期

    Rank: 2

    积分
    91
    发表于 2019-10-30 15:12:12 | 显示全部楼层
    对于启程又有了更深入的了解,会越来越好的,加油!!
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 67 天

    [LV.6]常住居民II

    392

    主题

    922

    帖子

    9498

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9498
    发表于 2019-10-31 11:40:55 | 显示全部楼层
    学习大佬理念,期待输入法做的更上一层楼
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 67 天

    [LV.6]常住居民II

    392

    主题

    922

    帖子

    9498

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9498
    发表于 2019-10-31 11:41:57 | 显示全部楼层
    支持任意码表吗?可在小拆五笔中推广一波,小拆五笔是外挂在百度五笔上的,理念是追求极限速度
  • TA的每日心情
    开心
    前天 19:51
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    26

    主题

    303

    帖子

    1757

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    1757

    突出贡献优秀版主

     楼主| 发表于 2019-10-31 14:15:52 | 显示全部楼层
    admin 发表于 2019-10-31 11:41
    支持任意码表吗?可在小拆五笔中推广一波,小拆五笔是外挂在百度五笔上的,理念是追求极限速度 ...

    一般的码表都支持,不知道它的码表有什么特别的没有。
  • TA的每日心情
    慵懒
    2020-3-2 21:00
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    3

    帖子

    96

    积分

    24:00金丹期

    Rank: 2

    积分
    96
    发表于 2020-2-23 10:40:48 | 显示全部楼层
    虽然不懂,但是来逛逛!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛 ( 粤ICP备18103663号-2 )

    GMT+8, 2020-4-1 01:02

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表