首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android上常见的性能陷阱?

Android上常见的性能陷阱?
EN

Stack Overflow用户
提问于 2009-10-01 17:51:16
回答 6查看 1.3K关注 0票数 5

什么是最容易犯的错误,可能是Android的性能下沉?

文档提到“一些浮点运算”可以是“毫秒级的”--有人测试过吗?

为了便于讨论,让我们假设它在G1/类似设备上运行。

EN

Stack Overflow用户

发布于 2010-02-24 15:49:37

wrt浮点:

在G1上,将两个浮点数相加大约需要400 on。将两个整数相加大约需要250 two。

在nexus运行eclair (pre-JIT)上,这两种操作都需要大约120 one。(int稍快一些,但您必须进行微基准测试才能注意到这一点。)int和long之间以及浮点数和双精度之间有一个很小的百分比差异,但基本上如果你能买得起一个,你可能就能买得起另一个。

其他当前的设备将介于这两个极端之间。(其他操作也会有所不同。乘法比加法/减法更昂贵,而除法更昂贵。当前没有设备具有硬件整数除法。)

但是,在你遇到问题之前,不要纠结于这些。很有可能,你的性能问题会归结为算法或数据结构的糟糕选择,就像每个人的性能问题一样。

大多数当前的(eclair)性能文档都是不正确的。在你所关心的设备上,自己进行基准测试。

但是如果你真的在问“桌面/服务器java程序员应该注意什么?”,我会建议:不必要的分配。您没有像在桌面/服务器上那样的备用核心来执行GC,您也没有像在桌面/服务器上那样拥有千兆字节的堆。如果你在做GC,你不是在做真正的工作,你的堆在当前设备上最多是24MiB。因此,您可能希望避免内部循环中不必要的分配。

票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1505446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档