`
happmaoo
  • 浏览: 4471676 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Symbian应用程序启动顺序

阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

以下为SDK HELP中所写的Symbian应用程序启动顺序:

0、用户在Launcher中选择应用程序的图标,Launcher以该程序的.app文件的文件名为命令行参数调用apprun.exe

1、框架装入应用程序DLL,E32Dll method被调用。

2、框架调用函数NewApplication,这里生成了一个HelloWorldApplication类的实例,并返回一个指向它的指针。然后框架会使用这个指针来完成程序的构造。

3、框架调用AppDllUid以获得实际程序的UID,获得这个UID是为了判断有无该程序的实例已经在运行,如果没有则继续加载过程,如果有则将该实例切换到前台并中止当前的加载过程

4、框架调用CHelloWorldApplication对象的CreateDocumentL函数,生成了一个应用程序文档并返回一个指向它本身的指针。从而使得框架可以直接调用Document的某些功能。文档对象通过调用自己的静态函数NewL来创建。

5、框架调用AppDllUid,来观察是否要从文件系统中装入一个文件。

6、框架调用文档对象的CreateAppUi方法,生成了一个App UI对象并返回一个指向它的指针。

7、框架通过调用App UI对象的ContructL函数来完成其构造。

8、ContructL函数先调用App UI基类的BaseContructL函数。

9、AppUi调用了AppView类的NewL函数来生成其实例,这里用的是双重构造。

10、框架调用了Draw函数,通过从Application->Document->Ui->View来调用。这样调用Draw后就绘制了屏幕。重绘不能通过draw,而是要调用drawNow()或者DrawDeferred()。

11、用户何时选择一个菜单项,HandleCommandL被框架所调用,传递参数aCommand,它指明了用户所选择的命令。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1543027


分享到:
评论

相关推荐

    symbian 开机自启动

    Symbian系统在启动时会按照特定顺序加载一系列的服务和应用程序,这些程序通常被注册在系统的启动列表中。开机自启动就是将我们的应用程序添加到这个列表,确保设备启动后,应用能够自动运行。 2. **系统服务**: ...

    symbian多线程程序

    在Symbian操作系统中,多线程编程是构建高效、响应迅速的应用程序的关键技术。Symbian OS 是一个为移动设备设计的实时操作系统,它支持多任务和多线程,以充分利用有限的系统资源,同时处理多个并发任务。本文将深入...

    Symbian开发环境设置

    对于想要开发Symbian应用程序的开发者来说,搭建一个合适的开发环境至关重要。本文将详细介绍如何基于Microsoft Visual Studio .Net 2003来配置Symbian开发环境。 #### 二、所需软件及安装顺序 为了顺利进行...

    symbian线程

    本文将深入探讨Symbian线程的概念、创建与管理,以及其在应用程序开发中的应用。 线程是操作系统中的基本执行单元,它在一个进程内独立运行,可以并发执行不同的任务。Symbian系统支持多线程编程,使得开发者能够...

    symbian中活动对象的一些简单的使用

    - DoCancel()用于取消当前正在进行的计数任务,通常在用户取消操作或应用程序关闭时调用。 - setDelayTime()用于设置计数间隔时间。 - CActive的基类中,优先级可以通过构造函数传递,这影响活动对象的调度顺序,...

    APP测试点.docx

    5. **自动启动**:未经用户允许,应用程序不应自动启动。 6. **卸载安全**:检查卸载过程是否安全,是否彻底删除所有安装的文件。 7. **卸载影响**:评估卸载是否会影响其他软件的功能。 **1.3 数据安全性** 1. **...

    WinCE流驱动程序设计概述

    这种机制简化了应用程序与硬件设备之间的交互,使得开发人员无需深入了解底层硬件细节即可完成设备控制。 ### 结语 WinCE流驱动程序设计是嵌入式开发中的一个重要环节,它不仅要求开发人员掌握WinCE操作系统的基本...

    UIQ3_Whitepaper_01_Start_Application_Framework

    UIQ3是基于Symbian OS的一个用户界面层,它提供了一套丰富的工具和API,使得开发者能够创建功能强大且用户友好的移动应用程序。本篇文章将从《UIQ3_Whitepaper_01_Start_Application_Framework》中提取关键知识点,...

    s60智能手机开发环境搭建

    该平台支持多种应用程序和服务,能够为用户提供丰富的多媒体体验和高效的工作环境。诺基亚通过S60平台发布了多款备受消费者欢迎的智能手机产品。 #### 二、S60软件开发过程概述 S60软件开发过程与传统的PC软件开发...

    s60下获取电话信息

    首先,我们需要了解S60 SDK,它包含了用于开发Symbian应用程序的各种工具和库。Symbian C++是主要的开发语言,但也有Java ME和Qt框架可用于跨平台开发。对于获取电话信息,我们通常会用到以下几个关键组件: 1. **...

    symbian cative

    根据提供的文件信息,我们可以深入探讨Symbian操作系统中的CActive机制以及消息循环处理方式。...综上所述,Symbian中的CActive机制提供了一种强大的异步事件处理方案,使得开发者能够轻松地管理复杂的事件驱动程序。

    symbian函数或类与头文件和LIB库对照表

    - **描述**:`CActivityMonitor` 用于监控系统中的活动状态变化,如应用程序启动或退出等。 - **头文件**:`eiknfysv.h` - **LIB库**:未指定。 #### CAgendaEntryToVCalConverter - **描述**:`...

    嵌入式系统设计

    - **程序流程图**:根据给定的程序段,可以绘制出程序的执行流程图,用于理解程序的逻辑结构和执行顺序。 - **执行结果**:通过分析程序段,可以得出执行后的R0值为5。 #### 嵌入式开发环境组件 - **宿主机**:用于...

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    操作原理要点归纳

    - 随机性:程序启动时间和数据输入具有不确定性。 - 资源共享性:硬件和软件资源可在不同程序间共享。 8. **程序的并发执行与并行执行**: - **并发执行**:一组逻辑上独立的程序在执行过程中时间上相互重叠。 ...

    诺基亚N85全套图纸

    - **内存管理**:内存是手机运行应用程序的基础,合理分配和管理内存可以有效提升设备性能。诺基亚N85采用了一定容量的RAM和ROM,以支持其操作系统和应用程序运行。 - **USB接口**:诺基亚N85配备了USB接口,支持...

    嵌入式试题集(含答案).doc

    用户模式是非特权模式的一种,用于执行普通应用程序。 2. 复位后,ARM微处理器的程序计数器(PC)通常指向地址0x0,初始工作模式是Supervisor模式。 3. ARM处理器通过系统控制协处理器CP15和MMU(存储管理单元)来...

    嵌入式复习题非常全_适合期末复习.doc

    6. Boot Loader:Boot Loader是系统启动时执行的第一段程序,负责初始化硬件设备,建立内存和I/O空间映射,并为加载操作系统做好准备。它在系统软件栈中处于最底层。 7. 通信接口与开发环境:在搭建嵌入式开发环境...

Global site tag (gtag.js) - Google Analytics