symbian 开发诀窍大放送
2010-02-23 16:06:00 来源:WEB开发网(descriptor) 可能需要重新编码。
15. 当在函数参数中使用描述符(descriptor) 时,应缺省使用基类。在大多数情况下,以const TDesC& 形
式来传递描述符。对可修改的描述符,则应使用TDes&。
16. 当在函数中传递或返回对象时,应确保如果您拥有该对象的所有权,您应负责将其清除! Symbian 采取的约定是:函数中的指针表示所有权转移到调用者,而使用引用则表示被传递对象的所有权仍属于原所
有者。
17. Active Objects 是Symbian OS 的重要特性之一。请仔细研究SDK 文档、Symbian Developer Network 白皮书,以充分理解其工作原理。下面是一些有用的窍门:
• 在RunL()内无需使用TRAP()。Active Scheduler本身会TRAP 函数RunL()并在其发生Leave 时调用CActive::RunError()。• 为此,您应实现自己的RunError()函数来处理从RunL()的Leave 事件。
• 保证RunL()操作尽可能简短。长时间运行的RunL()将阻塞其他Active Objects。
• 总是实现DoCancel()函数,总是在AO 析构函数中调用Cancel()。
18. 您应尽可能利用Active Object 框架机制。对于使用电池供电的设备,在一个循环中紧密不断地进行轮流检测(polling) 是极其不适当的,将带来大量耗电。写游戏时,对此尤需特别注意,详情参阅Symbian
Developer Network 网站的技术文档(www.symbian.com/developer/techlib/papers/porting_3D_games/XenGames_paper.pdf)。
19. ViewSrv 11 异常对于繁忙运行的程序(例如游戏)是一个潜在的问题。当您的,或者其他任何程序中的ViewSrv active object 不能及时响应View Server 时就会导致此种异常。典型的最长回应时间是10-20 秒。FAQ-0900 有详细解释,FAQ-0920 有针对如何避免此类问题的实用技巧。二者均可从www3.symbian.com/faq.nsf 网页上的Symbian OSFAQ 数据库获取。
20. 您无需使用HBufC::Des()来进入一个HBufC 对象。只需采用* 操作符来为HBufC 对象解除引用(dereference)。这对于向某个接受TDesC&(上文的推荐做法)的函数传递HBufC 参数时尤其有用。
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
- ››Symbian 3 版的 Swype 输入法正式上架
- ››Symbian中的设计模式
- ››Symbian S60平台JAVA开发环境搭建步骤
- ››Symbian自定义控件—如何实现跑马灯效果
更多精彩
赞助商链接