通过使用另一个支持层减少 UILabel 的内存
Reduce memory for UILabel through using another backing layer
我使用的是大尺寸标签,它占用了太多内存。 UILabel (CALayer) is using large amounts of virtual memory and in How to suck down iOS memory without even trying.
中描述了该问题
是否可以通过例如交换 UILabel
的支持层? CATiledLayer
?
我想做的是减少 UILabel
的使用内存。例如,使用清晰的背景颜色无济于事。不知道这到底是什么意思:
but then you don’t respond to the drawRect method to draw your view’s contents
您不能用 CATiledLayer
支持 UILabel
,但也没有理由这样做。如果您要切换到 CATiledLayer
(这可能是正确的解决方案),那么无论如何您都必须管理自己的布局。一旦你这样做了,UILabel
就不会给你带来太多好处。只需使用 UIView
并按照您的建议平铺即可。
也就是说,您 link 讨论的问题是创建 500 UILabels
。这是一个疯狂的标签数量。您应该使用其他工具,例如 CATiledLayer
、infinite UIScrollView
、UITableView
等,它们允许您管理较少数量的可重用视图。
我使用的是大尺寸标签,它占用了太多内存。 UILabel (CALayer) is using large amounts of virtual memory and in How to suck down iOS memory without even trying.
中描述了该问题是否可以通过例如交换 UILabel
的支持层? CATiledLayer
?
我想做的是减少 UILabel
的使用内存。例如,使用清晰的背景颜色无济于事。不知道这到底是什么意思:
but then you don’t respond to the drawRect method to draw your view’s contents
您不能用 CATiledLayer
支持 UILabel
,但也没有理由这样做。如果您要切换到 CATiledLayer
(这可能是正确的解决方案),那么无论如何您都必须管理自己的布局。一旦你这样做了,UILabel
就不会给你带来太多好处。只需使用 UIView
并按照您的建议平铺即可。
也就是说,您 link 讨论的问题是创建 500 UILabels
。这是一个疯狂的标签数量。您应该使用其他工具,例如 CATiledLayer
、infinite UIScrollView
、UITableView
等,它们允许您管理较少数量的可重用视图。