让我先说明我在UIImageView
设置了ViewController
:
每一行都包含一个UIButton
的身体部位。如果我选择一个特定的按钮,它将适当地扼杀我。
我想做的是,当用户点击(但不释放)按钮时,我希望相应的身体部位显示如下:
我可以使用2个选项实现此目的:
UIBuzierPath
要绘制的课程,但需要进行大量的试验和错误以及每个身体部位的许多重叠形状,以便在上一个问题中得到很好的拟合:Create clickable body diagram with Swift (iOS) UIImageView
上,具体取决于所选的UIButton
。然而,每个身体部位只会有一个图像,但仍然比选项1更简单。现在,我的问题不是如何做到这一点,但在cpu处理和内存分配方面哪个更好?
换句话说,我只关心我的应用程序滞后以及占用应用程序大小的存储空间。我并不担心这需要多长时间,我想确保我的应用程序在尝试绘制所有形状时不会断断续续。
感谢。
答案 0 :(得分:3)
这些方法中的任何一种都不太可能对CPU或内存产生任何重大影响。特别是如果在选项2中,您只需使用剪切图像的Alpha通道,并使它们成为半透明的有色覆盖层。 CPU / GPU方面,这两种方法都不会降低到60fps的最大屏幕刷新率(这是用户会注意到性能问题的方式)。内存方面,将十几个贝塞尔路径或单通道图像加载到RAM中应该是您可以获得的内容,特别是在过去5年发布的任何iOS设备上,除非它是Apple Watch
请记住,"过早优化是所有邪恶的根源"。除非你已经看到性能问题或者有充分的理由相信它们会存在,否则你的时间可能会更好地花在其他问题上,例如使代码更具可读性,简洁性,可重用性等。请参阅Wikipedia上的这个简短部分"当优化":https://en.wikipedia.org/wiki/Program_optimization#When_to_optimize
答案 1 :(得分:1)