使用UIImage
中的UILabel
或NSString
或Quartz2D
是否有任何性能或内存开销。
如果没有差异,那么为什么不使用UIImage
,UILabel
等
任何人都可以在不使用UIImage
的情况下向我发送如何绘制图片的代码段。
提前致谢, 问候。
如果你发现任何愚蠢的错误我请你纠正我,试着去学习它。
答案 0 :(得分:2)
标签绘制字符串。没有字符串就不能有标签;如果你这样做了,会画出什么?
最后我查了一下,UILabel在内部使用UIWebView,所以你确实可以制作更高效的版本。一种方法是使用Core Text;另一种是使用CATextLayer。
至于UIImage,技术上是肯定的; UIImage包装了一个CGImage,因此切掉UIImage可以节省一些内存。然而,图像使用的99%的内存是图像本身,它的像素;那些包含在CGImage中,与它相比,UIImage很小。你有更好的时间来削减时间。
不是猜测和/或依赖于优化的一般性,而是使用Instruments来准确找出应用程序花费在内存上的内容。一旦你知道了所有记忆的确凿证据,你就会知道在哪里可以寻找储蓄。
Wrappers通常不会增加内存使用量;对象很小,所以如果你创建了很多对象,你只会为它们付出很多。而是缩短他们的寿命;不要持有超过你需要的对象(在缓存,集合对象或直接在实例变量/属性中)。