iPhone 分析和优化
Posted
技术标签:
【中文标题】iPhone 分析和优化【英文标题】:iPhone Profiling and optimization 【发布时间】:2011-05-06 18:52:32 【问题描述】:所以我最近对我的一个表格视图进行了一些更改,我注意到当重新加载单元格时(以一种或另一种方式回到屏幕上)会有四分之一到半秒的延迟。我决定使用 xcode 4 的内置分析器。我发现在这些高峰期间,大部分时间都花在 gzopen 和 png_read_filter_row
我在调用树查看器中一直跟踪这些函数,一直到 main,它从来没有出现在我的任何真实代码中。我正在做的唯一有问题的事情是每次调用 cellForRowAtIndexPath 时都是小图像文件(每个单元格 1 个)。
我想我的问题是这样的:
-
文件 i/o 是否这么慢,以至于我应该切换到将这些图像缓存在内存中而不是文件系统中?
我如何才能弄清楚究竟是什么让我的应用程序使用分析工具大大降低了速度?
谢谢!
【问题讨论】:
【参考方案1】:您能否异步加载图像 - 显示图像所在位置的微调器并触发后台线程以显示图像。这是“表格行中的缩略图”问题的常见解决方案。
我认为您已经使用分析工具来追踪问题:加载图像。诚然,我不是分析器方面的专家,但我认为你知道你需要知道什么。所以实现你的表a)没有图像b)从文件加载的图像c)异步加载的图像并坚持使用最快的。 (我并不是要装腔作势,我只是对把代码拿出来有很大的偏见。)
希望这会有所帮助。 -迈克
【讨论】:
你知道是否有一种简单安全的方法来异步加载文件吗? 是的,它完全可以安全使用。简单是相对的 :-) 查看这个问题的答案 (***.com/questions/5452390/…)。我用过 Three20,我自己也推出过。我没有使用过 hjcache 库。祝你好运。 Three20 库并没有真正帮助我,我已经下载了图像,它使用似乎真的很慢的基本文件系统加载它们以上是关于iPhone 分析和优化的主要内容,如果未能解决你的问题,请参考以下文章
如何在应用程序上设置自动缩放(针对 iPhone 6 的 4.7 英寸屏幕进行了优化)以适应 iPhone 5 和 4 的屏幕?
错误 ITMS-90096:“您的二进制文件未针对 iPhone 5 进行优化 - 提交的新 iPhone 应用程序和应用程序更新必须支持 4 英寸显示屏