Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS性能、标签/文本字段与PNG_Ios_Performance_Text - Fatal编程技术网

iOS性能、标签/文本字段与PNG

iOS性能、标签/文本字段与PNG,ios,performance,text,Ios,Performance,Text,只是在一个有大量文本的iPad应用程序上工作,我想知道使用UIExtFields和UILabels是否比简单地使用带有PNG文本的UIImageView更能提高性能和内存 在某些情况下,文本会设置动画,但在大多数情况下,它是静态的 多谢各位 更新: 根据马克的建议,我对一个新的XCode项目做了一些挖掘。以下是实验细节: 测试1: 用于iPad的全新单视图模板XCode项目(不使用故事板) 一个图像视图,以段落文本的678x828图像为中心(36k图像) 自定义字体和样式已烘焙到图像中

只是在一个有大量文本的iPad应用程序上工作,我想知道使用UIExtFields和UILabels是否比简单地使用带有PNG文本的UIImageView更能提高性能和内存

在某些情况下,文本会设置动画,但在大多数情况下,它是静态的

多谢各位

更新: 根据马克的建议,我对一个新的XCode项目做了一些挖掘。以下是实验细节:

测试1:

  • 用于iPad的全新单视图模板XCode项目(不使用故事板)
  • 一个图像视图,以段落文本的678x828图像为中心(36k图像)
    • 自定义字体和样式已烘焙到图像中
结果是: 756kb的活动字节842kb的活动字节,带视网膜PNG

测试2:

  • 添加了具有不同段落的第二个图像视图(699x749 82k)
结果是: 767kb的活动字节854kb的活动字节w/PNG

测试3:

  • 复制了相同的副本并添加了4个UILabel
  • 设置字体样式以匹配PNG中烘焙的字体
  • 嵌入式自定义字体
结果是: 965kb的活动字节

测试4:

  • 从第二个图像视图中添加了4个具有相同文字和样式的自定义文字标签
结果是: 1024kb的活动字节


从这个角度来看,似乎使用PNG与烘焙副本和样式具有较低的记忆足迹和更好的规模。显然,这是一个非常快速和肮脏的实验

你为什么不对它进行基准测试?可能重复?谢谢你,马克。我会用仪器检查一下。我想我会问社区,是否有人已经花了精力去调查它,并得到了一个明确的答案。如果没有,我会在这里发回我的结果。那么问题是,你想使用UILabel(因为你没有改变它)的唯一原因是如果屏幕分辨率增加了,或者如果你想移植到iPhone或目标非视网膜显示器,而不必做额外的工作?或者UIImage的缩放比例会完全相同吗?我想使用UILabel的主要原因是,从维护角度来看,它更灵活。编辑标签更容易,然后制作2个新PNG(标准和视网膜)。我使用标准res PNG完成上述操作,我将使用视网膜PNG更新测试。