现在的位置: 首页 > 综合 > 正文

android 浮点

2013年09月20日 ⁄ 综合 ⁄ 共 1073字 ⁄ 字号 评论关闭

本文转自:http://android.tgbus.com/

避免使用浮点数

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

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

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

一些关于性能的数据

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

    Action  Time  

Add a local variable  1  

Add a member variable  4  

Call String.length()  5  

Call empty static native method  5  

Call empty static method  12  

Call empty virtual method  12.5  

Call empty interface method  15  

Call Iterator:next() on a HashMap  165  

Call put() on a HashMap  600  

Inflate 1 View from XML  22,000  

Inflate 1 LinearLayout containing 1 TextView  25,000  

Inflate 1 LinearLayout containing 6 View objects  100,000  

Inflate 1 LinearLayout containing 6 TextView objects  135,000  

Launch an empty activity  3,000,000  

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

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

抱歉!评论已关闭.