MTK平台MMI训练课程:EntryNewScreen与History管理机制详解

需积分: 9 10 下载量 141 浏览量 更新于2024-10-24 收藏 733KB PDF 举报
"MTK训练课程.pdf"是一份针对MTK开发者的宝贵资料,主要聚焦于MMI(MultiMedia Interface)平台的深入理解和编程实践。该文档详细讲解了MMI函数手册中的关键概念,特别是与`EntryNewScreen`函数相关的全局变量和执行流程。 首先,课程提到了几个重要的全局变量:`currEntryFuncPtr`用于存储当前活动的入口函数指针,`currExitScrnID`和`currTopScrnID`分别记录了当前退出和顶级屏幕的ID。`currExitFuncPtr`则保存了退出处理程序的指针。在`EntryNewScreen`函数中,核心步骤包括: 1. 保存新的屏幕ID到`currTopScrnID`,这是初始化新屏幕的关键步骤。 2. 调用`ExecuteCurrExitHandler`,这是一个关键函数,负责处理屏幕切换时的退出逻辑。 3. 将新的屏幕ID存储到`currExitScrnID`,为后续的处理做准备。 4. 调用`SetGenericExitHandler`,设置通用的退出处理程序,确保在屏幕切换时执行相应的清理工作。 接下来,文档深入剖析了`ExecuteCurrExitHandler`函数,其原型是`void ExecuteCurrExitHandler(void)`。这个函数的主要职责是调用`ExecuteCurrExitHandler_Ext`等内部函数,进行一系列的屏幕切换和资源管理操作,确保旧屏幕退出时的正确清理以及新屏幕的初始化流程得以执行。 此外,课程还涵盖了MMI平台源代码训练的其他重要内容,如可定制的UEM(User Equipment Management)和NVRAM设置、MMI资源和定制工具、图形设备接口(GDI)、PC模拟器和网络模拟器、调试支持以及可定制的外围组件。基础架构部分详细介绍了MMI的层次结构,包括应用层、操作系统和协议栈层、框架层以及用户界面层,这些层之间的交互对于理解整个系统的运作至关重要。 课程的代码结构部分指导开发者如何导航MTK应用的源代码,如`plutommi`目录下的`Customer`、`MMI`、`Mtkapp`等子目录,以及资源文件、音频播放器的相关源码和定制数据文件。对于资源生成工具的源文件,文档也提供了相关的辅助文件和库。 这份课程资料为MTK开发者提供了一个全面的指南,帮助他们掌握MMI平台的核心功能实现和定制技术,对于提高开发效率和产品质量具有重要价值。通过深入学习和实践,开发者可以更好地利用MTK平台来构建高效、稳定的多媒体应用程序。