我的应用程序连接到Web服务器,下载数据(大约43000字节)并在每个字节上执行数学函数(例如log,+, - ,* etc ...)。
准备apk文件,就像发布到Android市场一样。关闭调试模式并停用所有记录器。
然后将其放入Web服务器并下载(安装)在我的HTC设备上。安装完成后,我测试了应用程序。 从开始读取字节到任务结束的时间大约为4分钟。这很慢。
我研究了这部分。似乎在数学函数上工作缓慢。
有没有办法提高工作速度?
我的代码与我的应用程序的iphone版本相同。它非常快。所有部件在4-10秒内完成。
这里有什么问题?
或者我是否需要任何配置(相关的调试模式)?
请建议。
感谢。
答案 0 :(得分:4)
我建议在两个平台上对原始数学表现进行基准测试。
并非所有移动CPU都有硬件FPU模块,因此复杂的数学运算可能非常慢。
解决方法是通过有限精确的整数计算来实现数学函数 - 如果它真的模拟数学,这可以为你提供2-10倍的性能提升。
答案 1 :(得分:3)
解决任何性能问题的第一步是识别它们。您应该对应用程序进行概要分析,以确定问题的确切位置。
您可以使用traceview
工具来分析您的应用。看看this question for instructions on how to use traceview
。
答案 2 :(得分:0)
使用Android NDK的本机方法是性能关键代码段的选项。它很复杂,需要仔细关注兼容性问题,但可以为您提供所需的性能提升。