![]() |
1
1
此时,您最好的选择是使用Shark来尝试在代码中找到瓶颈。苹果有一个“ Performance Tuning Your Application with Shark “(iTunes链接)如果你以前从未使用过鲨鱼,它会带你穿过鲨鱼。不过,我认为你必须是99美元iPhone开发者计划的一员才能看到它。 |
![]() |
2
6
您的分析数据强烈地表明瓶颈在于您的PNG图像的解包。我猜58.5%的CPU时间都花在了解包PNG数据上(例如,如果加载中也包含memcpy调用)。可能更多的时间花在了那里,但是没有更多的数据很难说。我的建议是:
只有当你在这之后仍然有性能问题时,我建议你研究一下缩放,例如,为视网膜加载“.'.'.'.'.@2x.png”图像。祝你好运! |
![]() |
3
4
[uiimage imagewithdata:]不缓存。 这意味着每次传入该数据源方法时,Coregraphic都会解压缩并处理您的图像。 我会将您的艺术家对象更改为保留uiimage而不是nsdata。如果你经常收到的话,你可以在记忆学习中刷新图像。 另外,我不建议在数据源调用中使用setNeedsDisplay,我将在您的单元中使用它。 setNeedsDisplay不是对drawRect的直接调用: 它只告诉操作系统在运行循环结束时再次绘制uiview。可以在同一个runloop中调用setNeedsDisplay 100次,操作系统只调用一次drawRect方法。 |
![]() |
4
1
如果延误发生在
|
![]() |
5
1
我的猜测是延迟来自于在核心数据中存储图像。核心数据通常不是存储大量数据块的好方法。
更好的解决方案是将图像存储为磁盘上的单个文件,使用相册ID标识每个图像。然后,您将设置一个内存缓存,将图像存储在RAM中,以便快速加载到
附录1
如果你只是打电话
另一个需要考虑的问题是
|
![]() |
McRui · Laravel storeAs()存储问题中的图像 1 年前 |
![]() |
HTML · 如何使用css使任何SVG图像灰度化? 2 年前 |
![]() |
GabyUnalaq · 从原始RGB深度图像到灰度的转换不正确 2 年前 |
![]() |
MHSarmadi · 阻止显示未完全加载的图像 2 年前 |
![]() |
softandwet · 反应img onError未点火 3 年前 |
![]() |
Nilesh soni · 颤振图像已缩放,但如何更改缩放位置 3 年前 |