以下为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,它指明了用户所选择的命令。
分享到:
相关推荐
Symbian系统在启动时会按照特定顺序加载一系列的服务和应用程序,这些程序通常被注册在系统的启动列表中。开机自启动就是将我们的应用程序添加到这个列表,确保设备启动后,应用能够自动运行。 2. **系统服务**: ...
在Symbian操作系统中,多线程编程是构建高效、响应迅速的应用程序的关键技术。Symbian OS 是一个为移动设备设计的实时操作系统,它支持多任务和多线程,以充分利用有限的系统资源,同时处理多个并发任务。本文将深入...
对于想要开发Symbian应用程序的开发者来说,搭建一个合适的开发环境至关重要。本文将详细介绍如何基于Microsoft Visual Studio .Net 2003来配置Symbian开发环境。 #### 二、所需软件及安装顺序 为了顺利进行...
本文将深入探讨Symbian线程的概念、创建与管理,以及其在应用程序开发中的应用。 线程是操作系统中的基本执行单元,它在一个进程内独立运行,可以并发执行不同的任务。Symbian系统支持多线程编程,使得开发者能够...
- DoCancel()用于取消当前正在进行的计数任务,通常在用户取消操作或应用程序关闭时调用。 - setDelayTime()用于设置计数间隔时间。 - CActive的基类中,优先级可以通过构造函数传递,这影响活动对象的调度顺序,...
5. **自动启动**:未经用户允许,应用程序不应自动启动。 6. **卸载安全**:检查卸载过程是否安全,是否彻底删除所有安装的文件。 7. **卸载影响**:评估卸载是否会影响其他软件的功能。 **1.3 数据安全性** 1. **...
这种机制简化了应用程序与硬件设备之间的交互,使得开发人员无需深入了解底层硬件细节即可完成设备控制。 ### 结语 WinCE流驱动程序设计是嵌入式开发中的一个重要环节,它不仅要求开发人员掌握WinCE操作系统的基本...
UIQ3是基于Symbian OS的一个用户界面层,它提供了一套丰富的工具和API,使得开发者能够创建功能强大且用户友好的移动应用程序。本篇文章将从《UIQ3_Whitepaper_01_Start_Application_Framework》中提取关键知识点,...
该平台支持多种应用程序和服务,能够为用户提供丰富的多媒体体验和高效的工作环境。诺基亚通过S60平台发布了多款备受消费者欢迎的智能手机产品。 #### 二、S60软件开发过程概述 S60软件开发过程与传统的PC软件开发...
首先,我们需要了解S60 SDK,它包含了用于开发Symbian应用程序的各种工具和库。Symbian C++是主要的开发语言,但也有Java ME和Qt框架可用于跨平台开发。对于获取电话信息,我们通常会用到以下几个关键组件: 1. **...
根据提供的文件信息,我们可以深入探讨Symbian操作系统中的CActive机制以及消息循环处理方式。...综上所述,Symbian中的CActive机制提供了一种强大的异步事件处理方案,使得开发者能够轻松地管理复杂的事件驱动程序。
- **描述**:`CActivityMonitor` 用于监控系统中的活动状态变化,如应用程序启动或退出等。 - **头文件**:`eiknfysv.h` - **LIB库**:未指定。 #### CAgendaEntryToVCalConverter - **描述**:`...
- **程序流程图**:根据给定的程序段,可以绘制出程序的执行流程图,用于理解程序的逻辑结构和执行顺序。 - **执行结果**:通过分析程序段,可以得出执行后的R0值为5。 #### 嵌入式开发环境组件 - **宿主机**:用于...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
- 随机性:程序启动时间和数据输入具有不确定性。 - 资源共享性:硬件和软件资源可在不同程序间共享。 8. **程序的并发执行与并行执行**: - **并发执行**:一组逻辑上独立的程序在执行过程中时间上相互重叠。 ...
- **内存管理**:内存是手机运行应用程序的基础,合理分配和管理内存可以有效提升设备性能。诺基亚N85采用了一定容量的RAM和ROM,以支持其操作系统和应用程序运行。 - **USB接口**:诺基亚N85配备了USB接口,支持...
用户模式是非特权模式的一种,用于执行普通应用程序。 2. 复位后,ARM微处理器的程序计数器(PC)通常指向地址0x0,初始工作模式是Supervisor模式。 3. ARM处理器通过系统控制协处理器CP15和MMU(存储管理单元)来...
6. Boot Loader:Boot Loader是系统启动时执行的第一段程序,负责初始化硬件设备,建立内存和I/O空间映射,并为加载操作系统做好准备。它在系统软件栈中处于最底层。 7. 通信接口与开发环境:在搭建嵌入式开发环境...