资料介绍
MTK平台 MMI学习总结一
MTK平台 MMI学习总结一
总体感受
MTK是一个自由度相当高的平台,整个MMI
Framework只有history的操作才是必须的,其他方面,主要是display的机制,完全放开
自由发挥。当然,MTK有个所谓的display manager来管理category screen,
当实际上,这个display
manager是个非常弱的机制,可以使用可以不使用。整个平台的高自由度就带来了一些历
史问题,主要的是display
manager以及n个命名怪异的category,经过几年的演变积累,自由一发不可收拾,就是
现在高度膨胀难于理解和扩展的display代码。不过,也正是因为平台的自由性,才使得
平台面对重大问题或重大需求变更时可以灵活修改,不需要大刀阔斧的改动,所以使得
MTK的平台日趋所谓的稳定。(不像broadcom平台,方方面面都存在设计理念,稍稍更改
一下framework的逻辑, 灾难就会波及一片application.)
入口
每遇到一个新平台(这里有点说大了,哈哈,我只接触过两个平台),不可能面面俱到
把所有都学到,针对MMI的设计,我觉得只要搞清楚一下3个方面就可以自由发挥了。
1. 平台的约束, 也就是framework.
2. 事件处理的入口
3. 如何去画字符,图片,等
Framework
个人感觉,MTK平台对开发的约束只限制在history上。History的内部逻辑可以参考部分
文档,History背后的设计理念可以这样理解:假设一扇门,用不同的钥匙打开可以进入
不同的房间,在每个房间有可能拿到不同的钥匙,每次想更换房间的时候就需要把门关
掉,然后用新钥匙打开门,就可以进入一个新的房间。那么这里钥匙相当于每个histor
y节点上的EntryFunc, 每个房间相当于某个特定的categ