Symbian与Android应用程序框架对比:消息传递、绘图与核心组件解析

需积分: 9 1 下载量 150 浏览量 更新于2024-09-12 收藏 179KB PDF 举报
本文将深入探讨Android与Symbian两种移动操作系统的应用程序框架,重点比较它们在消息传递、绘图机制以及核心组件上的异同。首先,让我们来看看Symbian的应用程序框架: 1. **消息传递**: Symbian中,Conewindowserver扮演着应用程序与系统服务之间的桥梁角色。Cone封装了消息循环,它通过RWsSession与wserv通信,获取并分发消息。Cone的重要特性在于它会优先将消息发送给输入法(Cep输入法),确保其功能的优先执行。 2. **绘图与窗口与控件**: Symbian的窗口与控件设计基于RWindow,其主要属性包括rect(矩形区域)和z-order(层级关系)。窗口通过windowgroup组织成树状结构,如CCoeControl封装了RWindow,而GC(图形控制器)则负责将绘图指令最终写入device的framebuffer。CCoeEnv是关键组件,它封装了SystemGc和RWindowGroup的iRootWin,所有控件的根窗口都依赖于此。 3. **控件绘图**: 控件通常使用SystemGc进行绘图,这是CCoeEnv为所有控件共享的资源。绘制操作涉及对图形上下文的管理,如在Coemain.cpp中的实现。 4. **输入法处理**: Symbian特别关注输入法,Cone确保输入法在消息分发链路中的优先级最高,以便在接收到消息时能快速响应。 5. **Symbian中的FEP输入法**: FEP(Fast Entry Point)输入法是Symbian系统中一种高效的关键输入解决方案,Cone通过优先级调整确保其消息处理速度。 另一方面,Android应用程序框架也有其独特的设计: - **对比与差异**: 文章提到,尽管两者都涉及到消息传递和绘图,但具体的实现方式和组件组织可能有所区别。通过链接到DevDiv网站的帖子,读者可以进一步了解这两者之间的具体对比。 - **资源参考**: 提供了一些链接,如博客文章,用于深入了解Symbian如何处理绘图指令,以及Wserv在处理绘图指令时的工作原理。 这篇文章提供了关于Symbian和Android应用程序框架的深入剖析,涵盖了核心组件、消息传递机制、绘图技术以及输入法处理等内容。对于开发者来说,理解这些区别有助于选择合适的平台开发应用,或是在跨平台开发中实现兼容性。