Android手机操作系统一经推出就受到了广大用户尤其是编程爱好者的好评。因为它的开源性,可以很好的满足用户的各种需求。我们将会在这里为大家分析一下Android浮点的一些相关概念,以帮助大家进一步了解这一操作系统。#t#
避免使用Android浮点数
在奔腾CPU出现之前,游戏设计者做得最多的就是整数运算。随着奔腾的到来,浮点运算处理器成为了CPU内置的特性,浮点和整数配合使用,能够让你的游戏运行得更顺畅。通常在桌面电脑上,你可以随意的使用浮点运算。
但是非常遗憾,嵌入式处理器通常没有支持Android浮点运算的硬件,所有对"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好了。它是你的选择而不是什么无心之过。
Android浮点的相关概念就为大家介绍到这里。有备则无患。知道你想要做什么。倾注你***的热情,清楚的了解你的代码,然后尽力让它跑得更快。