软键盘

2017-03-18  本文已影响0人  Mr_468

http://blog.csdn.net/innost/article/details/47660591
http://blog.csdn.net/luoshengyang/article/details/6882903

安卓系统启动流程中,SystemManagerService启动WindowManagerService负责窗口管理,WindowManagerService启动InputManger负责键盘管理。
  activity的启动过程中,ActivityThread中handleLaunchActivity调用performLaunchActivity加载完activity对象之后返回handleLaunchActivity方法,接着调用handleResumeActivity使activity进驻resumed状态。handleResumeActivity函数里ActivityThread将DecorView添加到WindowManagerImpl的mViews中,创建一个mViewRoot实例,Activity通过mViewRoot与WindowManagerService进行消息传递,处理viewTree的各种事件。

ViewRoot的setView方法干了三件事

应用程序注册好键盘消息接收通道后,接下来就开始分析InputManager分发键盘消息给应用程序的过程了。

当Activity窗口创建时,它会向InputManager注册键盘消息接收通道,而当Activity窗口销毁时,它就会向InputManager注销前面注册的键盘消息接收通道了。

上一篇下一篇

猜你喜欢

热点阅读