我加入多个UIImageView
到UIView
执行诸如拖拽,缩放操作和放大images.I放大图像增加了手势识别器的所有UIImageViews
。自从我加入多张图像(UIImageViews的)它降低了我的应用程序的性能。是否有任何人有更好的解决方案来执行此操作?谢谢拖拽,缩放和UIView的
回答
许多图片的添加通常不会引起足够的问题,导致您的应用程序速度变慢。例如,为了用一个荒谬的例子来说明这一点,我添加了250(!)个图像视图,每个图像视图都有三个手势,并且它在iPad 3上运行良好,包括将图像动画化为其最终的安放位置/大小/旋转。
两个意见:
你有什么计算密集型与你的形象的看法?例如:
简单地在Quartz 2D中添加阴影会产生巨大的性能影响,因为它实际上在计算上相当昂贵。即使您使用图层阴影,也不太可能,您可以尝试使用
shouldRasterize
,这可以缓解问题,但不能解决问题。如果这是问题,还有其他(kludgy)技术可用于计算有效阴影。另一个令人惊讶的计算密集的过程,如果你的图像(例如)与透明度设置PNG图像,或者如果你已经降低了您的看法
alpha
/opacity
。什么是正在加载的图像的分辨率/大小?如果图像非常大,则图像视图将根据
contentMode
进行渲染,但如果您要拍摄大图像并缩小它,速度会非常慢。如果可能,您应该使用屏幕分辨率图像。
这些只是一些看起来如此无害的事情的例子,但其实在计算上相当昂贵。如果你在图像视图上进行Quartz装饰,我会建议暂时将它们放回原处,看看是否有任何变化。
在自己诊断性能问题而言,我建议看以下两个WWDC视频:
WWDC 2012 - #211 - Building Concurrent User Interfaces on iOS包括仪器的一个相当务实的论证,以确定性能问题的根源。这段视频明确地集中在一个特定的解决方案(将计算昂贵的流程转移到后台并实现并发用户界面),在这种情况下可能适用也可能不适用,但我喜欢Instruments演示。
WWDC 2012 - #235 - iOS App Performance: Responsiveness是在应用和技术的一个措施反应如何解决问题更集中的讨论。我没有发现乐器教程与之前的视频一样好,但它确实更详细。
希望这可以让你去。如果你仍然难倒,你应该分享一些关于如何添加/配置视图以及手势如何操作的相关代码。也许你也可以澄清性能问题的本质(例如,它是在初始演绎中,在手势发生时是否是低帧率等)。
- 1. jQuery的旋转,拖拽和缩放
- 2. Jquery拖放 - 无法拖拽
- 3. 拖拽和缩放有界的力布局d3
- 4. 拖拽和缩小图像捏图像
- 5. 如何正确拖放,旋转和缩放UIView?
- 6. jQuery可拖拽/可拖拽
- 7. 把拖拽放回原位
- 8. 在android中拖拽n拖放textview
- 9. 组合拖放和缩放
- 10. jQuery UI的拖拽,拖拽父DIV
- 11. 可拖拽的位置在可拖拽
- 12. 放大和缩小UIView
- 13. jquery ui可拖拽/可拖拽,掉落时可交换拖拽
- 14. JQuery可拖拽和可拖拽的追加问题
- 15. Drag Drag拖拽时添加拖拽
- 16. iOS上的JQ UI可拖拽:启动拖拽处理程序中的拖拽
- 17. AngularJS可选,可拖拽和可拖拽元素
- 18. Jquery可拖拽和droppable,切换到originalPosition另一个可拖拽
- 19. jquery可拖拽,可拖拽和编辑功能
- 20. 可拖拽的元素在拖拽的页面中拖动
- 21. jQuery可拖拽+可拖拽 - 物理移动拖拽项目到被拖拽的容器
- 22. 图片拖拽和显示
- 23. 如何拖拽X和Y?
- 24. 图像的Mac示例代码缩放,缩放,笔和拖放
- 25. jCanvas - 在缩放时拖放n拖放
- 26. jQuery可拖拽/放置问题
- 27. jQuery可拖拽/放置问题
- 28. 水平缩放UIView
- 29. 拖拽textview
- 30. jquery拖拽框
我不明白为什么添加多个手势识别器应该会降低性能。根据我的经验,事实并非如此,虽然我很可能是错的。你可以发布一些代码吗?你可以选择摆脱手势识别器并自己处理触摸,但我怀疑你会获得很大的性能提升。 – 2013-05-05 09:03:39
由于我将多个图像视图添加到'UIView',因此性能下降。可以通过将多个UIImageView添加到视图来实现相同的功能@ JavierQuevedo-Fernández – kaar3k 2013-05-05 11:33:03
那么,您可以将图像渲染为单个图层,但我不确定这是否会让你想去。你能否提供更多关于你想要建立的内容的信息,或者目前的方式?否则,这有点困难。 – 2013-05-05 17:24:33