在 MTK task 小结 2 中 大概描述了下 MMI task 的工作方式:从外部队列获取消息放入内部消息队列,内部消息队列根据消息类型注册的回调函数,进行调用(event 机制,这个又是MMI framework的主要部分之一)。
在MTK上,用户(开发人员)可以根据需要,创建task。
创建一个task 分为 4 步:
1 增加一个task index 到 custom_task_indx_type
2 增加一个mod index 到 custom_module_type
3 把mod 关联到 相应的 task上,因为一个task 可以对应多个mod,所以需要把mod 挂载到 task上。
(用挂载这个词,应该就比较好理解了,task 是MTK 执行的基本单位,所以一个mod 要能独立运行,就要挂载到某个task 上,为什么不一个mod一个task呢,我想task越多,多系统效率影响就越大。那么就可以考虑互斥的mod 挂载到一个task上,反正互斥的,不会同时需要运行,就像音乐,视频,照相机一样,不会同时运行)
4 创建 task 基本信息 到 custom_comp_config_tbl
下面来具体看一个例子。
1 添加 task index
typedef