我的iPhone软件太慢了!
我将一个mac应用程序移植到iphone上。哇!太慢了!起初我开始想也许我在做大量的磁盘访问。但当我开始寻找时,我意识到我只是对二进制文件进行偏移读取。我只读取了大约512字节的数据。我还有一个巨大的数组。可能是2MB。但是为什么会很慢呢?它被允许位于内存中我的iPhone软件太慢了!,iphone,testing,performance,Iphone,Testing,Performance,我将一个mac应用程序移植到iphone上。哇!太慢了!起初我开始想也许我在做大量的磁盘访问。但当我开始寻找时,我意识到我只是对二进制文件进行偏移读取。我只读取了大约512字节的数据。我还有一个巨大的数组。可能是2MB。但是为什么会很慢呢?它被允许位于内存中 我很想听听你们大家的想法 很难通过Stackoverflow调试应用程序,但iPhone应用程序运行速度慢得多的原因有很多:你的mac应用程序可能运行在最新的CPU上,内存大得多,而iPhone的内存非常有限(据说3GS的CPU频率为600
我很想听听你们大家的想法 很难通过Stackoverflow调试应用程序,但iPhone应用程序运行速度慢得多的原因有很多:你的mac应用程序可能运行在最新的CPU上,内存大得多,而iPhone的内存非常有限(据说3GS的CPU频率为600MHz,内存为256MB)。此外,Mac应用程序在内存使用方面更为宽容;至于iPhone,重要的是只在需要时创建所需对象,在不再使用时释放它们。延迟对象取消分配也会导致一些减速
我建议使用Instruments性能评测工具,它与XCode和开发人员工具捆绑在一起。它将提供关于瓶颈是什么的好提示。当您遇到重大性能问题时,首先要解决的工具是。从“使用性能工具运行>CPU采样器”开始,了解应用程序在哪里花费时间。在那之后,检查对象分配,看看你是否对内存的影响比你应该做的更大。与Mac相比,iPhone是一个资源受限的环境。你认为最快的东西会极大地影响iPhone的性能。磁盘访问要昂贵得多。甚至分配内存也会产生重大影响(欢迎来到服务器开发人员每天都要面对的世界)。您只有一个核心,所以您在后台线程上停留的内容现在与主线程竞争。这是一个不同的世界。这应该是一个www.superuser.com的问题。请迁移这个。OP指的是他自己软件的性能;这对苏来说是合适的,而不是苏。