WEB开发网
开发学院手机开发Symbian 开发 symbian 开发诀窍大放送 阅读

symbian 开发诀窍大放送

 2010-02-23 16:06:00 来源:WEB开发网   
核心提示:周期,相反,symbian 开发诀窍大放送(6),宏_LIT()直接创建了一个在编译时就全部实例化的对象,节省了构造TPtrC 的CPU 开销,20. 您无需使用HBufC::Des()来进入一个HBufC 对象,只需采用* 操作符来为HBufC 对象解除引用(dereference),当然,您首先应该考虑的是否应该使
周期。相反,宏_LIT()直接创建了一个在编译时就全部实例化的对象,节省了构造TPtrC 的CPU 开销。当然,您首先应该考虑的是否应该使用硬编码的字符串常量,因为当您将来地方化(localize)您的程序时,这种常量类型的描述符

(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 参数时尤其有用。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:symbian 开发 诀窍

编辑录入:coldstar [复制链接] [打 印]
赞助商链接