社区
高通开发者论坛
帖子详情
关于AVK_END关闭所有应用程序的问题。【大家来讨论下
wwwdssddssdds
2009-05-09 10:27:38
在brew开发过程中,大家可能会发现,AVK_END(就是电源键)被按下时,BREW立即给活动的应用程序发送EVT_APP_STOP消息,关闭这些应用程序。这样关闭后,是不是还有一个应用程序不被关闭啊?因为如果全部都关闭了,那回到哪去呢?所以我觉得应该有一个主应用程序没有被关闭,如果真存在这样的一个app,大家知道是哪个吗?他的ID是多少?能把我的自己的一个应用程序设成这个主应用程序(暂且不考虑能否正常运行)。谢谢
...全文
1883
19
打赏
收藏
关于AVK_END关闭所有应用程序的问题。【大家来讨论下
在brew开发过程中,大家可能会发现,AVK_END(就是电源键)被按下时,BREW立即给活动的应用程序发送EVT_APP_STOP消息,关闭这些应用程序。这样关闭后,是不是还有一个应用程序不被关闭啊?因为如果全部都关闭了,那回到哪去呢?所以我觉得应该有一个主应用程序没有被关闭,如果真存在这样的一个app,大家知道是哪个吗?他的ID是多少?能把我的自己的一个应用程序设成这个主应用程序(暂且不考虑能否正常运行)。谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
soliuyong
2010-05-11
打赏
举报
回复
为啥我看不到13l呢
悠然红茶
2009-05-24
打赏
举报
回复
一般情况下,的确如楼上几位所说的,BREW在收到AVK_END后,会触发CloseAllApplet动作,并关闭所有applet。
然后BREW发出WakeUp动作,将一个特殊的applet启动。这个应用是由一个特殊的config项(CFGI_AUTOSTART)指定的。
我认为,BREW平台在初始化时,也就是在AEE_Init()中,会get这个配置项,并进而启动这个No.1应用。
而这个应用有时是core applet,有时是个启动泵applet(主要用于启动其他applet,包括core),不同的手机会
有所不同。
当激活的应用拥有PHONE_FLAG时,它可以截取AVK_END。如果它在处理AVK_END时return TRUE,那么BREW就不会触发
CloseAllApplet了,至少我目前遇到的情况是这样,有的手机的按键比较少,在某些界面上只好截AVK_END事件,并回退
上一层界面,此时我们是不希望BREW关闭所有应用的。
杭州山不高
2009-05-19
打赏
举报
回复
一般情况下,BREW在收到AVK_END后,会触发CloseAllApplet动作。
CloseAllApplet确实会导致所有应用关闭,后台应用不算。随后,BREW发现没有当前激活应用,会发出一个
WakeUp动作,将OEM预设的某个应用启动。通常这个应用是Core。效果上也就是回到IDLE。
【如果当前激活应用拥有PHONE_FLAG,BREW会把AVK_END键发给当前激活应用同时不触发CloseAllApplet动作。】
上面这句话是错的,不管有没有PHONE_FLAG,都会被关闭,并且受到EVT_APP_STOP的消息,无法先收到AVK_END键消息
1、CloseAllApplet确实会导致所有应用关闭:这包括你说的那个预设的应用(core)!
2、再开机时,也是启动这个OEM预设的应用(通常这个应用是core)。BREW发现没有当前激活应用,会发出一个WakeUp动作,将OEM预设的某个应用启动。这时不会重新初始化,只启动core显示待机(这算刚开机状态吗?楼主自己想)
3、再启动core时,本来就是马上回到IDLE,没做开机初始化的许多事情。
从log看到,brewappmgr和mainapp先后收到EVT_APP_STOP事件,就死机了。这说明这两者在处理STOP事件时,出了问题。
另外,在brewappmgr处于RESUME状态下来电话,当然会先给brewappmgr发送消息,再给mainapp发送EVT_APP_RESUME事件,不可能直接执行mainapp工程中的代码显示出来电界面,如果直接执行的话,肯定要乱掉的!
zma3fox
2009-05-17
打赏
举报
回复
当按END KEY时候,相当于调用了ISHELL_CloseApplet(pShell,TRUE),关闭所有AP(包括OEM预设的AP).
wwwdssddssdds
2009-05-16
打赏
举报
回复
还有一个疑问:【如果当前激活应用拥有PHONE_FLAG,BREW会把AVK_END键发给当前激活应用同时不触发CloseAllApplet动作。】是不是只有预设的应用才拥有PHONE_FLAG?
wwwdssddssdds
2009-05-16
打赏
举报
回复
13楼说的挺有道理。
1、CloseAllApplet确实会导致所有应用关闭:这包括你说的那个预设的应用吗(core)?
2、是不是再开机时,也是启动这个OEM预设的应用(通常这个应用是core)?如果是,那BREW发现没有当前激活应用,会发出一个WakeUp动作,将OEM预设的某个应用启动,那这时是不是也会重新初始化等,又回到刚开机那种状态了?
3、如果第2点成立,那有没有什么办法,再启动core时,马上回到IDLE,而不做其他事情?
谢谢
半吊子全栈工匠
2009-05-14
打赏
举报
回复
[Quote=引用 1 楼 wireless_com 的回复:]
应用程序一般要退到Application manager页面,他的classid也是一个特殊的整数而已,一般不可以把自己的一个应用程序设成这这个主应用程序
[/Quote]
那就是这种情况了
wwwdssddssdds
2009-05-14
打赏
举报
回复
那我说的这个手机不是TRUE BREW 手机
Riverandleaf
2009-05-14
打赏
举报
回复
一般情况下,BREW在收到AVK_END后,会触发CloseAllApplet动作。
如果当前激活应用拥有PHONE_FLAG,BREW会把AVK_END键发给当前激活应用同时不触发CloseAllApplet动作。
CloseAllApplet确实会导致所有应用关闭,后台应用不算。随后,BREW发现没有当前激活应用,会发出一个
WakeUp动作,将OEM预设的某个应用启动。通常这个应用是Core。效果上也就是回到IDLE。
半吊子全栈工匠
2009-05-14
打赏
举报
回复
TRUE BREW 手机也叫pure brew 手机,就是说,这个手机的所有应有都是通过brew写成的,例如待机页面,地址本,短信,dialer等等
wwwdssddssdds
2009-05-13
打赏
举报
回复
在运行一个下载的应用和在brew Application manager界面时,收到的avk_end的。
true brew 手机是什么意思?
半吊子全栈工匠
2009-05-12
打赏
举报
回复
先弄清楚,在什么情况下你受到了avk_end,是在一个下载的BREW应用运行中还是其他情况?另外,你的手机是true brew 手机么?
zsf81
2009-05-12
打赏
举报
回复
在MIF中设定NOTICE,开机自动后台起你的应用,你所谓的MAINAPP,是待机IDLE也是coreapp ,这个CLSID你是获取不到,也用不了。只有后台起了你的应用后,有什么消息,去做你的事。OEM层的函数告诉你,你也用不了。
发现心流
2009-05-11
打赏
举报
回复
顶2楼,俺又学习了
tx040316
2009-05-11
打赏
举报
回复
呵呵,就和WINDONS是一样的,有一个所谓的OS(操作系统),操作系统只有在电源关闭了的情况才会真正关闭,我们写的这些APP就是有这个操作系统上面运行的,发送AVK_END的时候,其实就是向系统发送命令,让它去关闭某个要关闭的APP。如果真的想去了解的话我建议去看一下《操作系统》,上面说得很清楚啊。
wwwdssddssdds
2009-05-11
打赏
举报
回复
大家说的都很有道理,不过能否再说的清楚点呢?
3楼说的:“在OEM层的某个函数中有处理”,能说是哪个函数吗?
5楼说的应该是想要的理想结果,可是现在我达不到这个结果。
现在开机后,会运行一个app(假设叫mainapp),这个mainapp包含短信彩信通话设置电话本蓝牙等等所有信息,在mainapp的任何界面短按END键都是回到mainapp的idle界面,长按就是关机,这个键的EVT_KEY也是在mainapp的工程中处理的。然后在mainapp中要启动一个brew Application manager界面,也就是#define AEECLSID_APPMGR_BID 0x01008000这个app(假设叫brewappmgr),StartApplet brewappmgr时,mainapp会收到EVT_APP_SUSPEND事件。在brewappmgr处于RESUME状态下按下END键,就不能回到IDLE界面了,从log看到,brewappmgr和mainapp先后收到EVT_APP_STOP事件,就死机了。另外,在brewappmgr处于RESUME状态下来电话,程序不会先给brewappmgr发送EVT_APP_SUSPEND,给mainapp发送EVT_APP_RESUME事件,而是直接就执行mainapp工程中的代码显示出来电界面。
高分求解以上难题。谢谢!
sunyymq
2009-05-11
打赏
举报
回复
AVK_END出消息后,确实会发出EVT_APP_STOP命令,但是不是所有的应用都关闭的,有几个后台应用是不会被关闭的。在OEM层的某个函数中有处理,当按AVK_END的时候,会去启动那个待机应用。那个待机应用的classid值不同厂商是不一样的。
FLYUP_CHEN
2009-05-11
打赏
举报
回复
我觉得是一个整机的话,这个键的作用是由开发人员处理的,一般是短按返回到idle也就是活动的app是idle,如果长按就是关机
半吊子全栈工匠
2009-05-10
打赏
举报
回复
应用程序一般要退到Application manager页面,他的classid也是一个特殊的整数而已,一般不可以把自己的一个应用程序设成这这个主应用程序
编写可移植的应用与Java技术应用验证工具包(
AVK
).pdf
如何使用Java™应用验证工具包(
AVK
)测试跨越不同J2EE™兼容服务器的J2EE™应用的可移植性
AVK
发电机
AVK
船舶轴带发电机资料 AVR 带图
派对屋
AVK
-SeriesV-1.2电脑调音软件下载
派对屋
AVK
-SeriesV-1.2电脑调音软件下载
Qualcomm平台BREW开发技术文档
认识手机的的存储区间 11 手机系统的组成 11 NOR 11 RAM 12 NAND 12 什么是BootLoader? 12 BootLoader 12 引导系统启动 13 下载BIN文件 13 关机充电 13 如何下载BootLoader 13 应用BIN数据区存在哪里? 13 BIN文件数据区 13 一般文件数据保存在哪里? 13 EFS文件系统数据。 13 NAND的数据存储区 13 USB盘区 14 软件开发人员需要做的工作 14 开发人员的工作流程 14 安装开发环境 14 安装VC6++开发工具 14 安装BREW3.15的开发环境 15 安装BUIW开发包 15 设备文件 15 环境变量 16 安装ARM编译器 16 安装调试工具 16 安装其它编译工具 16 安装USB驱动程序 16 应用基本规范 16 应用名称规范 17 应用名称 17 现在的目录状况 17 提示 17 模拟器的dll 17 dll应该小写 17 提示 18 mif文件和资源文件名称 18 mif文件 18 提示 18 应用的目录规范 18 一级目录 18 二级目录 18 注意 19 应用的.c和.h文件 19 文件名称格式 19 文件名称长度 19 文件内容 19 项目文件 19 开发环境的目录宏定义和环境变量定义 20 开发环境 20 错误的开发方式 20 如何设置开发环境 21 应用中的测试窗口 22 功能测试窗口 22 不显示功能窗口 22 开始应用开发 22 新建应用 22 使用VC6++向导 22 手工修改项目文件 23 BID和MIF文件 23 创建BID文件 23 定义宏名称和CLSID值 23 模拟器mif文件的作用 24 创建应用的mif文件 24 创建扩展对象的mif文件 26 通过mif文件设置应用或者对象是否可见 26 编译mif文件 27 VC编译应用 27 必须去掉警告信息 27 区分调试环境和手机环境 27 代码检查 28 设置模拟器应用 28 设置设备文件 29 模拟器调试应用 30 应用开发基本
问题
(初学者问答) 31 为什么启动不了应用 31 为什么创建对象总是失败 31 程序架构基本规范 31 程序结构标准化的需要 31 主程序结构不合理 31 窗口参数结构传递不合理 32 应用释放所有窗口过程不合理 33 主程序数据结构 34 窗口独立数据结构 34 窗口间参数传递 34 程序结构图示 34 数据结构规范 36 数据结构名称定义 36 结构的名称 36 公共的数据结构 36 曾经的
问题
36 数据结构中内存注意事项 37 中英文版本内存不一样。 37 大数据量时内存重复使用
问题
37 代码编码规范(简要) 37 编码基本事项 37 示例 38 调试信息
问题
40 DBGPRINTF调试信息 40 写文件调试信息 40 调试信息不应该放的地方 40 程序内存和堆栈 41 程序总的可用内存 41 总的内存 41 误区 41 内存需求空间检查 41 应用需求内存检查 41 接口需求内存检查 41 函数内栈空间
问题
和错误rex.c 841 42 著名的841错误 42 使用数组的情况 42 数组改用指针 42 使用异步消息 42 入参使用指针 42 参数错误例子 43 中英文版本资源规范 43 版本目录和资源ID 43 版本资源文件 43 资源ID 43 载入过程 43 加速载入过程 44 调试环境和手机环境的资源 44 应用直接替换 44 OEM层替换 44 编译到BIN文件 44 下载到手机目录 45 优缺点 45 资源不可采用的方式 45 错误的资源处理方式 45 资源载入失败(ISHELL_LoadResString)现象。 46 文件路径错误。 46 数据缓冲区内存分配太小。 46 系统内部解析错误。 47 程序CLSID规范 48 CLSID是什么? 48 CLSID的定义 48 CLSID和BID文件的位置 48 应用引用CLSID 49 CLSID错误的做法 49 窗口和事件处理 49
应用程序
组成和事件处理 49 基本组成 49 窗口消息和事件 50 事件传递过程 50 创建根窗口(ROOTFORM) 50 创建根窗口 50 释放根窗口 51 释放根窗口和注意事项 51 建议 51 白屏
问题
51 白屏闪现
问题
51 解决白屏
问题
51 错误的解决方式 51 创建窗口 52 窗口和根窗口的关系 52 创建窗口对象 52 释放窗口 53 窗口处理 53 设置窗口处理函数(XXX_HandleEvent)和
关闭
窗口处理函数(XXX_FormDelete) 53 把窗口(FORM)加入根窗口(ROOTFORM) 54 把窗口从根窗口(ROOTFORM)移出来 54 窗口函数处理规范 55 窗口事件处理示例 56 窗口的其它事件 57 控件和事件处理 58 控件列表 58 控件、容器和窗口关系 59 与WINDOWS同类控件的区别 60 控件的基本属性 60 创建控件和使用控件 60 列表控件(LIST)使用和示例 60 容器控件(IXYCONTAINER) 65 比例容器 67 VIEWPORT控件 68 网格控件(GRID) 68 按钮(非标准) 68 显示图片控件 70 静态文本控件 70 TEXT控件 71 滚动条控件 73 菜单控件 73 CheckBox控件 73 TAB控件 73 Radio控件 73 如何把CheckBox和Static控件捆绑一起 75 引用计数
问题
。 75 认识引用计数 75 为什么这么强调引用计数 75 哪些操作增加了引用计数 76 哪些窗口减少了引用计数 79 替换控件默认函数 81 如何让静态控件响应焦点事件 82 控件响应点击事件的前提 82 如何修改默认函数 82 处理事件 82 焦点和5向键顺序 83 控件的焦点 83 键盘操作规则 83 5向键顺序 83 如何创建一个自定义控件 84 应用窗口规范 84 正常窗口 84 大小 84 按钮位置 84 应用菜单 84 编辑菜单 84 进度条窗口 84 进度条窗口的
关闭
和任务取消 84 进度条标题 84 内容或者进度显示 84 窗口大小 85 进度条按钮大小 85 进度条窗口的错误现象 85 半屏幕窗口 85 位置 86 按钮位置 86 全屏窗口 86 哪些应用使用了全屏窗口 86 设置全屏窗口 86 全屏窗口规范 86 应用内部 86 协同应用 86 程序<关于>版本号管理规范 86 程序版权规范 86 版权 86 作者和修改内容 87 程序划屏处理规范 87 135度斜线线划屏 87 90度斜线线划屏(改变私密状态) 87 应用该如何处理收到的私密消息 87 程序异常处理 88 程序异常意识 88 内存没释放 88 内存不足的异常 88 用户强制
关闭
应用的异常(
AVK
_
END
) 88 资源数据错误的异常 88 用户数据错误的异常 89 使用goto处理异常 89 正确使用goto语句 89 不要滥用goto语句 89 异常的提示信息 89 准确标题信息 89 准确的内容提示 89 准确的图标 89 程序互斥规范 90 程序自动化编译规范 90 程序宏定义规范 90 应用内部的宏定义 90 应用间的宏定义 91 宏定义的名称 91 调试信息规范 91 日志文件 91 日志文件的目录和大小。 91 否写日志 91 正式版本 91 QDXM调试信息 91 不要频繁打印调试信息 91 使用中文 91 内容准确不罗嗦 92 全局变量和__inline函数 92 全局变量 92 慎用全局变量 92 命名全局变量 92 修改全局变量 92 __inline函数 92 优缺点 92 哪些函数建议使用__inline 92 大数据量处理CPU时间限制 92 为什么不能使用FOR、WHILE连续处理大数据量 93 CPU时间限制 93 提示 93 使用ISHELL_POSTEVENT消息处理。 93 消息机制 93 处理消息位置 93 消息丢失
问题
93 性能
问题
93 休眠状态 93 使用ISHELL_SETTIMER 93 休眠挂起状态 94 解决系统休眠 94 取消定时器 94 定时器间隔周期 94 周期和暴力测试
问题
94 ISHELL_Resume函数处理重复执行的过程 94 效率
问题
94 休眠
问题
94 取消回调 94 暴力测试
问题
95 如何使用 95 带窗口的接口或对象规范 95 单实例对象 95 单实例对象优缺点 96 优点 96 缺点 96 多实例对象 97 多实例对象优缺点 97 数据安全 97 内存需求较大 97
应用程序
更为复杂 97 更多的异常处理 97 释放更为麻烦 98 多实例对象的标准规范: 98 标准创建接口 98 标准Release接口 98 能被动态移出(_REMOVE) 98 能动态移出所有窗口 98 不能只移出一个顶部窗口 98 多窗口Release 98 对象内部有多个窗口 98 对象中还创建其它对象 98 内存 99 应用检查内存 99 对象需要检查内存 99 对象示例 99
应用程序
和对象创建前 100 应用创建了对象后 100 把所有窗口都释放 100 先释放对象 100 释放函数示例 101 释放函数该处理过程 101 对象的数据 102 误区 102 ARM编译项 102 如何在把应用编译入手机BIN文件 102 把应用放到编译目录下 102 在OEMModTableExt.c文件中增加 102 在incpath.min文件中增加 102 在dmss_qsc60x0.mak文件中增加: 102 在dmss_objects.min文件中增加: 102 在dmss_rules.min中增加, 103 如何修改min文件 103 min文件的意义 103 增加C文件 103 注意事项 103 nand和nor的区别 103 设置文件系统区 103 性能优化 103 性能优化的需求 103 显示过程的优化 103 资源载入的优化 103 开发注意事项 104 如何在模拟上调试唤醒挂起 104 如何让系统不进入休眠状态 104 获取当前系统的背光值 104 取消背光 104 图示 104 UI界面应用和底层应用交互的过程 105 向底层注册回调函数 105 开始向底层写入数据 105 底层调用回调函数 105 更新数据和相关模块数据 105 从底层取消 105 图示 105 ClearCase上应该保存哪些文件 106 应用的源代码 106 应用完整的资源文件 106 应用的批处理文件 107 应用配置文件 107 完整的测试代码 107 误区 107 RELEASEIF和IWIDGET_Release的异同 107 共同点 107 区别 107 ModelListener的取消
问题
。 107 使用监听对象(ModelListener) 107 不取消监听对象可能产生的结果 107 注意 108 BPOINT1和BPOINT 3的错误。 108 内存泄露(BPOINT1) 108 内存重复释放(BPOINT3) 108 内存越界 109 内存
问题
的建议 109 采取的措施 109 OEM层不应该处理UI的事情 109 文件操作注意 109 不能同时对一个文件进行操作 109 树型文件夹
问题
109 系统USB文件目录 110 T卡文件目录 110 编译环境下不应该有垃圾文件 110 mif文件中的项意义 110 提交版本前测试项 110 应用启动测试 111 干净环境的启动测试 111 丢失配置文件的启动测试 111 安全模式下的启动 111 编译应用和功能测试 111 提交版本前 111 自动化编译
问题
111 修改注意的
问题
112 启动速度测试 112 空记录启动的时间 112 满记录启动的时间 112 大数据量操作测试 113 载入数据需要的时间 113 删除所有数据需要的时间 113 满数据量下所有可能进行的操作 113 系统极度繁忙测试(暴力测试) 113 应用的暴力测试(单个应用) 113 系统繁忙的暴力测试(多个应用) 113 暴力测试的提示(更高的品质) 114 应用互斥测试 114 同时对T卡的写文件 114 同时对数据库的操作 114 占用内存测试(启动内存和最大内存) 114 内存稳定情况 114 空记录启动后占用的内存 114 满记录后启动占用的内存 114 所有窗口打开后占用的内存 114 使用过程是否有内存泄露 115 是否有BPOINT1和BPOINT3产生内存
问题
115 操作响应速度 115 操作响应的速度 115 对数据库的操作响应速度(批删除、批增加) 115 对底层任务处理的响应速度 115 批删除文件,COPY文件的响应速度 115 系统时间测试 115 当前时间下正常情况 115 网络更换(如启动C网同步时间) 115 修改为1980年前情况 115 修改为2050年后的情况 115 时区改边的情况 116 待机测试 116 正常待机 116 强制待机 116 待机后来电和短信 116 挂起和唤醒测试 116 正常挂起和唤醒后 116 T卡插拔测试 116 是否产生系统崩溃 116 是否产生内存泄露等 116 是否文件丢失 116 是否应用执行失败 116 系统极度繁忙的时候是否更大几率产生
问题
117 断网测试 117 强制
关闭
网络的测试 117 反复打开
关闭
应用的情况 117 新建默认项测试 117 默认标题 117 默认日期时间 117
QUALCOMM平台BUIW开发文档
前言 11 认识手机的的存储区间 11 手机系统的组成 11 NOR 11 RAM 12 NAND 12 什么是BootLoader? 12 BootLoader 12 引导系统启动 13 下载BIN文件 13 关机充电 13 如何下载BootLoader 13 应用BIN数据区存在哪里? 13 BIN文件数据区 13 一般文件数据保存在哪里? 13 EFS文件系统数据。 13 NAND的数据存储区 13 USB盘区 14 软件开发人员需要做的工作 14 开发人员的工作流程 14 安装开发环境 14 安装VC6++开发工具 14 安装BREW3.15的开发环境 15 安装BUIW开发包 15 设备文件 15 环境变量 16 安装ARM编译器 16 安装调试工具 16 安装其它编译工具 16 安装USB驱动程序 16 应用基本规范 16 应用名称规范 17 应用名称 17 现在的目录状况 17 提示 17 模拟器的dll 17 dll应该小写 17 提示 18 mif文件和资源文件名称 18 mif文件 18 提示 18 应用的目录规范 18 一级目录 18 二级目录 18 注意 19 应用的.c和.h文件 19 文件名称格式 19 文件名称长度 19 文件内容 19 项目文件 19 开发环境的目录宏定义和环境变量定义 20 开发环境 20 错误的开发方式 20 如何设置开发环境 21 应用中的测试窗口 22 功能测试窗口 22 不显示功能窗口 22 开始应用开发 22 新建应用 22 使用VC6++向导 22 手工修改项目文件 23 BID和MIF文件 23 创建BID文件 23 定义宏名称和CLSID值 23 模拟器mif文件的作用 24 创建应用的mif文件 24 创建扩展对象的mif文件 26 通过mif文件设置应用或者对象是否可见 26 编译mif文件 27 VC编译应用 27 必须去掉警告信息 27 区分调试环境和手机环境 27 代码检查 28 设置模拟器应用 28 设置设备文件 29 模拟器调试应用 30 应用开发基本
问题
(初学者问答) 31 为什么启动不了应用 31 为什么创建对象总是失败 31 程序架构基本规范 31 程序结构标准化的需要 31 主程序结构不合理 31 窗口参数结构传递不合理 32 应用释放所有窗口过程不合理 33 主程序数据结构 34 窗口独立数据结构 34 窗口间参数传递 34 程序结构图示 34 数据结构规范 36 数据结构名称定义 36 结构的名称 36 公共的数据结构 36 曾经的
问题
36 数据结构中内存注意事项 37 中英文版本内存不一样。 37 大数据量时内存重复使用
问题
37 代码编码规范(简要) 37 编码基本事项 37 示例 38 调试信息
问题
40 DBGPRINTF调试信息 40 写文件调试信息 40 调试信息不应该放的地方 40 程序内存和堆栈 41 程序总的可用内存 41 总的内存 41 误区 41 内存需求空间检查 41 应用需求内存检查 41 接口需求内存检查 41 函数内栈空间
问题
和错误rex.c 841 42 著名的841错误 42 使用数组的情况 42 数组改用指针 42 使用异步消息 42 入参使用指针 42 参数错误例子 43 中英文版本资源规范 43 版本目录和资源ID 43 版本资源文件 43 资源ID 43 载入过程 43 加速载入过程 44 调试环境和手机环境的资源 44 应用直接替换 44 OEM层替换 44 编译到BIN文件 44 下载到手机目录 45 优缺点 45 资源不可采用的方式 45 错误的资源处理方式 45 资源载入失败(ISHELL_LoadResString)现象。 46 文件路径错误。 46 数据缓冲区内存分配太小。 46 系统内部解析错误。 47 程序CLSID规范 48 CLSID是什么? 48 CLSID的定义 48 CLSID和BID文件的位置 48 应用引用CLSID 49 CLSID错误的做法 49 窗口和事件处理 49
应用程序
组成和事件处理 49 基本组成 49 窗口消息和事件 50 事件传递过程 50 创建根窗口(ROOTFORM) 50 创建根窗口 50 释放根窗口 51 释放根窗口和注意事项 51 建议 51 白屏
问题
51 白屏闪现
问题
51 解决白屏
问题
51 错误的解决方式 51 创建窗口 52 窗口和根窗口的关系 52 创建窗口对象 52 释放窗口 53 窗口处理 53 设置窗口处理函数(XXX_HandleEvent)和
关闭
窗口处理函数(XXX_FormDelete) 53 把窗口(FORM)加入根窗口(ROOTFORM) 54 把窗口从根窗口(ROOTFORM)移出来 54 窗口函数处理规范 55 窗口事件处理示例 56 窗口的其它事件 57 控件和事件处理 58 控件列表 58 控件、容器和窗口关系 59 与WINDOWS同类控件的区别 60 控件的基本属性 60 创建控件和使用控件 60 列表控件(LIST)使用和示例 60 容器控件(IXYCONTAINER) 65 比例容器 67 VIEWPORT控件 68 网格控件(GRID) 68 按钮(非标准) 68 显示图片控件 70 静态文本控件 70 TEXT控件 71 滚动条控件 73 菜单控件 73 CheckBox控件 73 TAB控件 73 Radio控件 73 如何把CheckBox和Static控件捆绑一起 75 引用计数
问题
。 75 认识引用计数 75 为什么这么强调引用计数 75 哪些操作增加了引用计数 76 哪些窗口减少了引用计数 79 替换控件默认函数 81 如何让静态控件响应焦点事件 82 控件响应点击事件的前提 82 如何修改默认函数 82 处理事件 82 焦点和5向键顺序 83 控件的焦点 83 键盘操作规则 83 5向键顺序 83 如何创建一个自定义控件 84 应用窗口规范 84 正常窗口 84 大小 84 按钮位置 84 应用菜单 84 编辑菜单 84 进度条窗口 84 进度条窗口的
关闭
和任务取消 84 进度条标题 84 内容或者进度显示 84 窗口大小 85 进度条按钮大小 85 进度条窗口的错误现象 85 半屏幕窗口 85 位置 86 按钮位置 86 全屏窗口 86 哪些应用使用了全屏窗口 86 设置全屏窗口 86 全屏窗口规范 86 应用内部 86 协同应用 86 程序<关于>版本号管理规范 86 程序版权规范 86 版权 86 作者和修改内容 87 程序划屏处理规范 87 135度斜线线划屏 87 90度斜线线划屏(改变私密状态) 87 应用该如何处理收到的私密消息 87 程序异常处理 88 程序异常意识 88 内存没释放 88 内存不足的异常 88 用户强制
关闭
应用的异常(
AVK
_
END
) 88 资源数据错误的异常 88 用户数据错误的异常 89 使用goto处理异常 89 正确使用goto语句 89 不要滥用goto语句 89 异常的提示信息 89 准确标题信息 89 准确的内容提示 89 准确的图标 89 程序互斥规范 90 程序自动化编译规范 90 程序宏定义规范 90 应用内部的宏定义 90 应用间的宏定义 91 宏定义的名称 91 调试信息规范 91 日志文件 91 日志文件的目录和大小。 91 否写日志 91 正式版本 91 QDXM调试信息 91 不要频繁打印调试信息 91 使用中文 91 内容准确不罗嗦 92 全局变量和__inline函数 92 全局变量 92 慎用全局变量 92 命名全局变量 92 修改全局变量 92 __inline函数 92 优缺点 92 哪些函数建议使用__inline 92 大数据量处理CPU时间限制 92 为什么不能使用FOR、WHILE连续处理大数据量 93 CPU时间限制 93 提示 93 使用ISHELL_POSTEVENT消息处理。 93 消息机制 93 处理消息位置 93 消息丢失
问题
93 性能
问题
93 休眠状态 93 使用ISHELL_SETTIMER 93 休眠挂起状态 94 解决系统休眠 94 取消定时器 94 定时器间隔周期 94 周期和暴力测试
问题
94 ISHELL_Resume函数处理重复执行的过程 94 效率
问题
94 休眠
问题
94 取消回调 94 暴力测试
问题
95 如何使用 95 带窗口的接口或对象规范 95 单实例对象 95 单实例对象优缺点 96 优点 96 缺点 96 多实例对象 97 多实例对象优缺点 97 数据安全 97 内存需求较大 97
应用程序
更为复杂 97 更多的异常处理 97 释放更为麻烦 98 多实例对象的标准规范: 98 标准创建接口 98 标准Release接口 98 能被动态移出(_REMOVE) 98 能动态移出所有窗口 98 不能只移出一个顶部窗口 98 多窗口Release 98 对象内部有多个窗口 98 对象中还创建其它对象 98 内存 99 应用检查内存 99 对象需要检查内存 99 对象示例 99
应用程序
和对象创建前 100 应用创建了对象后 100 把所有窗口都释放 100 先释放对象 100 释放函数示例 101 释放函数该处理过程 101 对象的数据 102 误区 102 ARM编译项 102 如何在把应用编译入手机BIN文件 102 把应用放到编译目录下 102 在OEMModTableExt.c文件中增加 102 在incpath.min文件中增加 102 在dmss_qsc60x0.mak文件中增加: 102 在dmss_objects.min文件中增加: 102 在dmss_rules.min中增加, 103 如何修改min文件 103 min文件的意义 103 增加C文件 103 注意事项 103 nand和nor的区别 103 设置文件系统区 103 性能优化 103 性能优化的需求 103 显示过程的优化 103 资源载入的优化 103 开发注意事项 104 如何在模拟上调试唤醒挂起 104 如何让系统不进入休眠状态 104 获取当前系统的背光值 104 取消背光 104 图示 104 UI界面应用和底层应用交互的过程 105 向底层注册回调函数 105 开始向底层写入数据 105 底层调用回调函数 105 更新数据和相关模块数据 105 从底层取消 105 图示 105 ClearCase上应该保存哪些文件 106 应用的源代码 106 应用完整的资源文件 106 应用的批处理文件 107 应用配置文件 107 完整的测试代码 107 误区 107 RELEASEIF和IWIDGET_Release的异同 107 共同点 107 区别 107 ModelListener的取消
问题
。 107 使用监听对象(ModelListener) 107 不取消监听对象可能产生的结果 107 注意 108 BPOINT1和BPOINT 3的错误。 108 内存泄露(BPOINT1) 108 内存重复释放(BPOINT3) 108 内存越界 109 内存
问题
的建议 109 采取的措施 109 OEM层不应该处理UI的事情 109 文件操作注意 109 不能同时对一个文件进行操作 109 树型文件夹
问题
109 系统USB文件目录 110 T卡文件目录 110 编译环境下不应该有垃圾文件 110 mif文件中的项意义 110 提交版本前测试项 110 应用启动测试 111 干净环境的启动测试 111 丢失配置文件的启动测试 111 安全模式下的启动 111 编译应用和功能测试 111 提交版本前 111 自动化编译
问题
111 修改注意的
问题
112 启动速度测试 112 空记录启动的时间 112 满记录启动的时间 112 大数据量操作测试 113 载入数据需要的时间 113 删除所有数据需要的时间 113 满数据量下所有可能进行的操作 113 系统极度繁忙测试(暴力测试) 113 应用的暴力测试(单个应用) 113 系统繁忙的暴力测试(多个应用) 113 暴力测试的提示(更高的品质) 114 应用互斥测试 114 同时对T卡的写文件 114 同时对数据库的操作 114 占用内存测试(启动内存和最大内存) 114 内存稳定情况 114 空记录启动后占用的内存 114 满记录后启动占用的内存 114 所有窗口打开后占用的内存 114 使用过程是否有内存泄露 115 是否有BPOINT1和BPOINT3产生内存
问题
115 操作响应速度 115 操作响应的速度 115 对数据库的操作响应速度(批删除、批增加) 115 对底层任务处理的响应速度 115 批删除文件,COPY文件的响应速度 115 系统时间测试 115 当前时间下正常情况 115 网络更换(如启动C网同步时间) 115 修改为1980年前情况 115 修改为2050年后的情况 115 时区改边的情况 116 待机测试 116 正常待机 116 强制待机 116 待机后来电和短信 116 挂起和唤醒测试 116 正常挂起和唤醒后 116 T卡插拔测试 116 是否产生系统崩溃 116 是否产生内存泄露等 116 是否文件丢失 116 是否应用执行失败 116 系统极度繁忙的时候是否更大几率产生
问题
117 断网测试 117 强制
关闭
网络的测试 117 反复打开
关闭
应用的情况 117 新建默认项测试 117 默认标题 117 默认日期时间 117
高通开发者论坛
4,654
社区成员
5,840
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
复制链接
扫一扫
分享
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能
物联网
机器学习
技术论坛(原bbs)
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章