核心图形或可伸缩图像?

时间:2013-08-20 17:30:55

标签: ios cocoa-touch ios6 uiimage core-graphics

如果您可以选择使用核心图形或可伸缩的UIImage(假设两种方法都可以)在iOS应用中渲染图形,您会使用哪种?有什么优点和缺点是以另一种方式做到这一点?

1 个答案:

答案 0 :(得分:1)

UIImage使用CoreGraphics(或者CoreAnimation)非常有可能。您可以自己做同样的工作,也可能犯错,或者您可以利用UIKit经过充分测试的实施。另一个潜在的优势是使用UIImage可能会产生非明显的性能优势。例如,与OS X不同,您无法在iOS上手动创建由CGContext支持的IOSurface,但由于能够使用私有API,UIImage可能会这样做做好自己的工作。 (真正好奇的可以使用调试器或dtrace调查UIKit正在做什么。)

简而言之,使用最高级别的抽象来完成工作(UIKit是比CoreGraphics更高级别的API。)如果UIImage的拉伸绘图例程为您完成工作,我可以想到几个不使用它们的理由。我可以设想不使用UIImage例程的一个潜在原因可能是您正在开发一个旨在在OS X和iOS上运行的跨平台库。

PS:“在低级别API中执行此操作的速度令人无法接受”将在我的脑海中被视为“而不是完成工作”,但你可以'我不知道这两种方式和测量。