本文来自刘兆贤_Java高级,Android旅行,Java底层探索-CSDN博客 ,引用必须注明出处!
既然写到后记篇,就代表本系列到此为止,暂时告一段落;其他一些Manager随后有时间再补,就像源码的一些翻译一样,有时间总会补上的,同时也希望大家一如既往的喜欢。
后记将讲述输入模块和编译系统内容,以及对整个系统的总结。
且看下图,有关硬件消息传递-以下是消息在硬件中处理后如何传递到Window层的过程
硬件的消息,由触屏和按键触发,通过驱动处理,形成Up、Down、Move这样的事件,然后再把消息分发到KeyQ类中,
由InputDispatcher读取后发给用户,API层处理消息形成长按、点击、轻触等系统定义事件,到底是Window层先处理还是View层
先处理,这由手机原始设计决定,除特殊配置按键外,均由View层处理,然后到ViewGoup,到Activity,这样传递出来。
有关资源访问:
data/app:apk被复制后的目录,系统应用放在system/app目录下
data/dalvik-cache:class.dex的存放目录或odex
data/data:数据安装的路径
attr用来设置一些视图的属性
资源的访问可以通过context或packageManager的方法实现(id小于0x1000,0000是系统资源,大于0x7000,0000的是应用资源,
而更换系统主题也可以使用这招,判断获取的资源是01开头,则返回07开关的;同样可以替换AssetManager的路径,通过修改
framework-res.apk实现,不建议使用)
String OrginalName=getResourceEntryName(orgin