只是在一个带有大量文本的 iPad 应用程序上工作,我想知道使用 UITextFields 和 UILabels 是否比简单地使用带有 PNG 文本的 UIImageView 更多地影响性能/内存。
在某些情况下,文本是动画的,但大多数情况下是静态的。
谢谢你。
更新:根据 Marc 的建议,我对一个新的 XCode 项目进行了一些挖掘。以下是实验细节:
测试1:
- 适用于 iPad 的全新单视图模板 XCode 项目(不使用情节提要)
- 一个以段落文本的 678x828 图像为中心的图像视图(36k 图像)
- 自定义字体和样式被烘焙到图像中。
结果: 756kb 的 Live Bytes和842kb 的 Live Bytes w/ Retina PNG
测试 2:
- 添加了具有不同段落的第二个图像视图 (699x749 82k)
结果: 767kb 的 Live Bytes和854kb 的 Live Bytes w/ Retina PNG
测试 3:
- 拿了相同的副本并添加了4个UILabels
- 设置字体以匹配 PNG 中烘焙的字体
- 嵌入的自定义字体
结果: 965kb 的实时字节
测试 4:
- 从第二个图像视图中添加了 4 个具有相同文本和样式的自定义文本标签
结果: 1024kb 的实时字节
从这个角度来看,使用带有烘焙副本和样式的 PNG 似乎具有更低的内存占用和更好的缩放。显然,这是一个非常快速和肮脏的实验。