深入SymbianOS
来源:互联网 发布:嘉实优化红利怎么样 编辑:程序博客网 时间:2024/05/19 03:25
1. SymbianOS基于微内核模型,微内核模型被设计得尽可能小,通过服务器提供绝大多数的服务。
这里的服务器其实是一个独立的进程,服务器进程通过与客户端(通常是某个应用)建立通信提供服务。而这种通信通常由服务器提供的客户端方使用的类来封装实现的。
在许多情况下,服务器运行自己的进程,提供保护性和模块性。服务器和客户端总是运行在不同的线程上,很多异步函数也是在服务器中实现。
所有的服务器都是从CActive派生来的,它们都是活动对象.
在Symibian OS中所有的异步服务都是Server通过C/S架构来实现的。Client是利用Server提供的特定服务的程序,Server接受来至Client的请求消息并同步或异步的处理他们。C/S架构有如下的优点:
1,可扩展性
2,有效性:相同的Server可以服务多个Client。
3,安全性:Server和Client存在于单独的进程中,并且通过消息传递进行通信。具有错误行为Client不会使他的Server崩溃(但是,Server可以通过客户线程的句柄来是具有错误行为的Client产生严重错误)。
4,异步性:在服务器完成请求的时候使用AO机制来通知他的Client。通过AO来挂起线程而不是轮询请求的状态,SymbianOS减少了处理该请求的处理器周期,从而节约了电源,这对于移动设备来说是非常重要的。
2. 子会话.
每次打开会话时都需要消耗更多的内核资源.客户/服务器框架在现有会话功能上提供了子会话功能,这有效地解决了需要多个客户会话的功能。子会话比完全会话使用较小的开销,但在客户端的实现也更复杂。
子会话是一咱让客户与服务器进行通信,而不需要单个会话来表示每个客户端的,轻量级方法.
客户与服务器建立单个会话,然后为每个对象创建子会话,每个子会话和会话关联,借此进行实际的进程间通信.
子会话必须与父客户会话相关联,因此对于支持子会话的服务器,至少有两个客户端类:一个由RSessionBase派生的会话类,一个由RSubSessionBase派生的子会话类。典型的子会话类RFile,RSocket
3. 框架解析
AppUi的几个重要事件处理方法:
HandleWsEventL()用于处理窗口服务器传递的事件,它的作用使框架调用下面这些具体事件处理方法;
HandKeyEvent()用于处理用户按键事件(此函数在控件堆栈为空时调用,否则框架将会调用OfferKeyEventL函数);
HandleForegroundEventL()当应用程序切换到前台或从前台切换到后台时调用该函数,默认的实现可以处理键盘焦点的改变;
HandleSystemEventL()用于处理由窗口服务器生成的事件;
HandleApplicationSpecificEventL()用于处理自己定义的自定义事件。默认的实现可以处理颜色方案改变的通知;
HandleCommandL()用于处理用户选择的菜单项;
HandleSwitchOnEventL()用于处理像设备切换之类的特定切换事件;
HandleMessageReadyL()用于处理窗口服务器产生的消息事件。
在以上各函数处理事件中,除了第一个HandleWsEventL()函数外,其它函数默认都是纯虚函数,需要重载才能用。
http://www.cppblog.com/franksunny/archive/2007/09/21/32597.aspx
- 深入SymbianOS
- SymbianOS精要
- SymbianOS精要
- SymbianOS目录结构剖析
- SymbianOS 60环境搭建
- SymbianOS之活动对象
- "SymbianOS Error -3606"问题解决了
- "SymbianOS Error -3606"问题解决了
- 使用SymbianOS套接字API
- SymbianOS 3nd 程序编译步骤
- SymbianOS Series 60学习笔记一: HelloWorld之晕
- SymbianOS Series 60学习笔记二:ListBox控件
- SymbianOS Series 60学习笔记三:数据库初探
- SymbianOS Series 60学习笔记一: HelloWorld之晕
- SymbianOS Series 60学习笔记二:ListBox控件
- SymbianOS Series 60学习笔记三:数据库初探
- SymbianOS Series 60学习笔记二:ListBox控件 cn_fish [原作]
- SymbianOS Series 60学习笔记三:数据库初探 cn_fish [原作]
- 中国四大最年轻的亿万富翁
- 婚嫁中国CEO:中专毕业的亿万富翁
- “80后”创业者 九成做网站
- java1
- FLEX quick start XML数据处理
- 深入SymbianOS
- 主键生成策略
- Java新手入门的30个基本概念
- 2009 5 18 java
- 沪:近5成大学生创业方向选择IT产业
- 回顾:在一堆字符串中找到第一个重复的字符串
- GNU开发工具简介(二)
- 一些网站 http://ychun.w.googlepages.com/pages
- 几个网站