在Quartz2D中使用UIImage或UILabel或NSString是否有任何性能或内存开销?

Quartz2D使用UIImageUILabelNSString是否有任何性能或内存开销?

如果没有区别,那么为什么不使用UIImageUILabel

可以任何一个给我的片段如何绘制图像,而不使用UIImage

在此先感谢,关心。

请纠正我,如果你看到我对这个新的愚蠢的错误,试图学习它。

标签绘制一个string。 没有string就不能有标签; 如果你做了,它会画什么?

最后我检查了,UILabel在内部使用了UIWebView,所以你的确可以做出更高效的版本。 一种方法是使用核心文本; 另一个是使用CATextLayer 。

至于UIImage,技术上是的。 一个UIImage包装一个CGImage,所以剪掉UIImage会节省一些内存。 然而,99%的图像使用的内存是图像本身,其像素; 那些被包含在CGImage中,而UIImage与它相比是微小的。 你有更好的东西来度过你的时间。

使用仪器来确定你的应用程序正在花费什么内存,而不是猜测和/或依赖于你的优化的一般性。 一旦你知道了你的记忆在哪里,你就会知道你在哪里可以节省开支。

包装通常不会增加内存使用量; 对象很小,所以如果你创build了很多对象,你只会付出很多。 反而要缩短他们的一生; 不要拘泥于对象(在caching,集合对象中,或者直接在实例variables/属性中)。