WEB开发网
开发学院手机开发Android 开发 Android 设计思想 阅读

Android 设计思想

 2010-06-17 03:29:00 来源:WEB开发网   
核心提示:避免使用浮点数在奔腾CPU出现之前,游戏设计者做得最多的就是整数运算,Android 设计思想(8),随着奔腾的到来,浮点运算处理器成为了CPU内置的特性,由于这种线程通常在class以及完成,你可以把响应问题作为一个class问题,浮点和整数配合使用,能够让你的游戏运行得更顺畅

避免使用浮点数

在奔腾CPU出现之前,游戏设计者做得最多的就是整数运算。随着奔腾的到来,浮点运算处理器成为了CPU内置的特性,浮点和整数配合使用,能够让你的游戏运行得更顺畅。通常在桌面电脑上,你可以随意的使用浮点运算。

但是非常遗憾,嵌入式处理器通常没有支持浮点运算的硬件,所有对”float”和”double”的运算都是通过软件实现的。一些基本的浮点运算,甚至需要毫秒级的时间才能完成。

甚至是整数,一些芯片有对乘法的硬件支持而缺少对除法的支持。这种情况下,整数的除法和取模运算也是有软件来完成的。所以当你在使用哈希表或者做大量数学运算时一定要小心谨慎。

一些关于性能的数据

为了说明我们的观点,我们列了一个表格,指明一些基本操作所用的时间。这些时间并不是绝对值,而是CPU时间和时钟时间的混合体,随着系统的提升,运行时间肯定会缩短的。但是我们需要注意这些值之间的比例,比如增加一个成员变量会比增加一个本地变量多花费四倍的时间。

结束语

要为嵌入式系统编写优雅高效的代码最根本的是要明白你的这些代码究竟要做什么。如果你真的想分配一个iterator,那么就对List使用foreach好了。它是你的选择而不是什么无心之过。

有备则无患。知道你想要做什么。倾注你最大的热情,清楚的了解你的代码,然后尽力让它跑得更快。

响应及时

你可以写出通过世界上所有性能测试的代码,但是当用户使用它时还是会感到恼火。这就是那些无法及时响应的应用 ——在特定阶段它们会变慢、挂起乃至冻结,或者需要用户等太久才来处理输入。在Android的术语中,不能及时响应的应用会频繁地导致系统弹出“应用没有响应”(ANR)消息。

通常,这种情况发生在你的应用无法响应用户输入时。例如,如果你的应用在一些I/O操作上阻塞了(通常是网络访问),那么应用主线程就无法处理用户的输入事件。一段时间以后,系统会判定你的应用挂起了,并且可以让用户终止它。类似地,如果你的应用在构建一个内存结构或者在计算下一步如何走时花费了太长时间,那么系统也会判定你的程序挂起了。确认计算过程才用了提高效率的技巧是十分重要的,尽管如此,在高效的代码也是需要花时间来运行的。

在这两个例子中,修补方法通常是创建一个子线程,在那里做大部分的工作。这能保持主线程(驱动用户界面抡询的进程)运行,并且防止系统认为你的代码冻结了。由于这种线程通常在class以及完成,你可以把响应问题作为一个class问题。(这一点主要是与基本性能的对比,基本性能主要与方法层面有关)

上一页  3 4 5 6 7 8 9 10 11 12 13  下一页

Tags:Android 设计思想

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