MTK MMI:History管理与EntryNewScreen解析

需积分: 3 1 下载量 62 浏览量 更新于2024-10-24 收藏 58KB DOC 举报
"MTK MMI(Mobile Machine Interface)的常用内容总结,主要涉及History管理机制和EntryNewScreen函数的相关知识,包括全局变量、函数流程以及ExecuteCurrExitHandler的分析。" 在MTK的MMI开发中,History管理机制是控制屏幕切换和回退的关键部分,而EntryNewScreen函数则是实现这一机制的重要函数。以下是关于这些知识点的详细说明: 1. **与EntryNewScreen函数相关的全局变量**: - `currEntryFuncPtr`:当前进入屏幕的处理函数指针,用于在屏幕切换时执行特定的入口操作。 - `currExitScrnID`:当前退出屏幕的ID,记录了用户即将离开的屏幕。 - `currTopScrnID`:当前顶部屏幕ID,即当前显示的屏幕。 - `currExitFuncPtr`:当前退出屏幕的处理函数指针,用于在退出屏幕时执行特定的退出操作。 2. **EntryNewScreen函数部分流程**: - **Step1**:保存新的屏幕ID到`currTopScrnID`,标识新的顶级屏幕。 - **Step2**:调用`ExecuteCurrExitHandler`,处理当前屏幕的退出操作。 - **Step3**:更新`currExitScrnID`为新屏幕ID,为后续的回退操作做准备。 - **Step4**:调用`SetGenericExitHandler`设置通用的退出处理程序。 - **Step5**:其他可能的操作,如更新屏幕状态、处理数据等。 3. **ExecuteCurrExitHandler函数分析**: - 这个函数的主要任务是执行当前屏幕的退出处理程序,同时调用`ExecuteCurrExitHandler_Ext`和`ClearInputEventHandler`。 - 在`ExecuteCurrExitHandler_Ext`中,如果没有当前的入口或退出函数指针,会清除所有中断事件句柄;如果有,会执行相应的菜单退出和屏幕退出操作。`ExitMyAppMenu`用于退出应用程序菜单,并将相关信息入栈。 - `mmu_frm_execute_scrn_exit_handler`变量被设置为`MMI_TRUE`,调用`currExitFuncPtr`指向的函数执行实际的屏幕退出操作,然后恢复为`MMI_FALSE`。 - 最后,`currEntryFuncPtr`和`currExitFuncPtr`被清零,表示当前没有活动的入口或退出处理程序。 这些内容是MTK MMI开发中的基础,理解并熟练掌握这些机制对于编写高效、流畅的屏幕交互至关重要。在实际应用中,开发者需要根据具体的业务需求和界面逻辑,正确地使用和配置这些函数及变量,确保用户在使用设备时的体验。