0

如果您可以选择使用核心图形或可拉伸的 UIImage(假设任何一种方式都可以)在您的 iOS 应用程序中渲染您的图形,您会使用哪一种?一种方式比另一种方式有什么优点和缺点?

4

1 回答 1

1

UIImage很可能在幕后使用 CoreGraphics(或者可能是 CoreAnimation)。您既可以自己做同样的工作,也可能会犯错误,或者您可以利用UIKit经过良好测试的实现。另一个潜在的优势是使用UIImage. 例如,与 OS X 不同,您不能在 iOS 上手动创建CGContext由 an 支持的,但也许可以通过使用私有 API 来完成它的工作来做到这一点。(真正好奇的人可以使用调试器或 . 调查 UIKit 正在做什么。)IOSurfaceUIImagedtrace

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

PS:“以某种方式在较低级别的 API 中执行的速度慢得令人无法接受”在我看来会算作“没有完成工作”,但如果不尝试两种方式并进行衡量,您将无法知道这一点。

于 2013-08-21T03:16:44.510 回答