基于Symbian OS内存管理策略.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Symbian OS内存管理策略

基于Symbian OS内存管理策略   摘要:手机属于资源受限设备,良好的内存分配管理机制对于手机来说是至关重要的。该文对Symbian OS特有的分配和资源管理机制进行了深入分析;TRAP和Leave、清除栈、两阶段构造函数三种内存管理机制,能够保证发生异常时及时捕获,避免内存泄露,保证内存安全。   关键词:Symbian OS;TRAP;清除栈;两阶段构造   中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)22-6215-02   Symbian OS Memory Management Strategy   GAO Nan   (Institute of electronics and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)   Abstract: Smart Phone is resources constrained devices,a good memory management mechanism is so important for it.This article give the in-depth analysis for symbian osmemory management mechanism;TRAP and Leave、cleanup stack、two-phase construct,these three memory management mechanism may catch system exception,avoid the system memory leak does not occur,and ensue the memory safety.   Key words: symbian OS; TRAP; cleanup stack; two-phase construct   Symbian OS是Symbian公司专门为移动电话设备开发的操作系统,它是当前占市场份额最大的手机操作系统。该操作系统由英国Symbian公司负责研发和维护,目前该公司由Nokia、SonyEricsson、Panasonic、Samsung等公司共同所有。Symbian OS的前身是EPOC,这是一个多任务的32位的软实时操作系统。   对于手机来说,内存资源是非常有限的,良好的内存分配管理机制是至关重要的.如果内存没有得到良好的分配及捕获清理, 会导致内存溢出、数据丢失,系统崩溃等严重后果发生。本文主要是讨论在Symbian开发过程中,内存管理机制的实现过程和一些注意事项。   Symbian操作系统的一个显著特点是针对内存空间和资源均受限的设备设计的,所以高效的使用这些有限的资源成为重点。作为手持设备的开发者,必须要注意以下几个问题:   ① 有效率的编程,减少对RAM的不必要的使用;② 资源使用完毕后尽快释放;③ 需要对资源不足情况进行处理,这要求在每次内存分配的时候都进行 ;④ 如果在程序运行过程中出现内存不足的情况,应该使程序回到一个可以接收的稳定状态, 并且清除在此过程中分配的资源。上述考虑对于一个成功的手持设备开发者是非常重要的。一个手持设备的操作系统如果不能够在以上问题上对开发者提供良好的支持,则无疑它是失效的。   Symbian OS主要提供了三种机制来管理内存的。它们分别为:TRAP和Leave、清除栈、两阶段构造函数。   1 TRAP和Leave   在开发Symbian OS 的时候,异常处理还不是C++标准的一部分,所以Symbian 没有采用C++后来引进的抛出/捕获异常处理方法,而是使用了自己的异常退出/捕获方法作为简单高效的轻量级的异常处理机制。Symbian OS 使用User::Leave( )、User::LeaveIfError( )等系统函数来抛出异常,提供TRAP 和TRAPD 两个宏来捕获异常,这与标准C++中的throw 和catch 类似。   1.1 抛出异常   Symbian OS 中的函数并不返回出错代码,而是一出现资源不足错误时就抛出异常。Symbian OS 使用User::Leave( )、User::LeaveIfError( )等系统函数来抛出异常。   ①User::Leave( ):该函数的原型为 static IMORT_C void Leave(TInt aReason);该函数将导致程序回溯到最近的异常捕获模块,并将异常代码aReason传递给异常捕获模块。所有可以异常退出的函数都以字母L结尾。   ②User::LeaveIfError

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档