iOS 应用滞后....图像可能是罪魁祸首吗?

标签 ios image swift uiimage lag

我最近在应用商店上传了一款游戏。这是一个类似于 mastermind 的基本数字猜谜游戏。无论如何,代码只是很多条件和一些循环,不会导致任何延迟。在我的手机 (iPhone 5s) 上它工作正常。在我 friend 的手机 (iPhone 4s) 上,他遇到了延迟。这是游戏的图片:

enter image description here

您将按 6,6 将出现在白色框中。然后你再按5,它就会出现在6后面的方框里,以此类推。他说第一次按下就没问题,然后在第二次按下数字时,按钮似乎保持按下状态,并且在该数字出现在白框中之前会发生大约 15 秒的延迟。第三次也会发生同样的情况。我不确定是什么导致了这么大的延迟。我唯一的想法是由于我的图像...

如我的调试所示,这些小数字键的大小在显示时为 40px x 40px。然而,当我第一次启动这个应用程序时,我对编码还比较陌生,项目中图像的实际大小是 500px x 500px 并且没有费心使用 Assets 或任何东西,只是想如果我把它们变大它们会缩放下来就好了。猜测和清除按钮也相对较大。所以我的问题是...

项目中的图像与屏幕上显示的实际尺寸之间的这种巨大差异是否会导致延迟?我不确定,因为图像在游戏开始之前就已经加载完毕,那么为什么这些图像都显示出来后会影响游戏呢?而且它不会滞后于第一个数字推送这一事实没有意义(至少对我而言)。另外 15 秒对于一些图像显示延迟来说似乎很长。

任何输入都将非常感谢。

最佳答案

正如 Aaron 所建议的,测量比猜测要好得多。获取 4s,将其连接到仪器上,然后弄清楚真正发生了什么。

也就是说,使用大图像并让系统缩放它们是一个非常糟糕的主意。它既使用大量内存需要大量 CPU 时间。

您应该将图像缩放到您需要的原始显示尺寸。除了 iPad 2/第一代 iPad mini,我们不再需要非视网膜图像。

Assets 目录使管理所有这些图像变得非常非常容易。测量屏幕上的显示尺寸(以磅为单位),然后创建尺寸为该尺寸 2 倍的图像并将它们保存到 Assets 目录中的 @2x 插槽中。您应该会发现这对性能有很大影响。

关于iOS 应用滞后....图像可能是罪魁祸首吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32461431/

相关文章:

c - 读取数据并用C重写后文件大小更改

ios - 为什么以这种方式更新 UITableView 单元格是错误的?

ios - SVG 套件。 NSString 到 SVGKImage?

javascript - 如何检查 img src 是否以 http ://img. youtube.com/vi/开头并在任何字符之后并替换为 youtube 视频 iframe?

arrays - 如何快速从数组中删除特定项目?

ios - UITableViewCell 快速重复每 12 行

ios - 在 Swift 中执行 Restkit addFetchRequestBlock 以删除孤儿

ios - 未在异步调用的 block 中设置变量

android - Flutter MediaQuery.of(context).size.width 检查设备大小总是在 iOS 模拟器中返回相同的错误值

ios - 调用套件识别