加载任何内容后触摸的延迟/延迟

时间:2011-09-16 10:44:00

标签: iphone touch touchscreen lag

编写游戏,我遇到了一个问题,即在加载任何内容(图像/声音效果)后,触摸屏会遇到大量延迟。我点击屏幕,不久之后,该水龙头就被注册了。这在iPhone 4或iPad上几乎不会引起注意,但在任何旧版本(特别是2G设备)上,我都会在触摸注册前几秒钟看到它!

要清楚,我点击...然后将我的手指从屏幕上移开,然后大约5秒后,我点击的图标会注册水龙头。

这似乎只是在加载大量图像之后发生的(我在每个级别的开头和返回前端时都会这样做)。一旦它“赶上”,它一切正常。

有没有办法在加载后刷新触摸缓冲区(我假设一个必须存在!)

提前致谢

1 个答案:

答案 0 :(得分:0)

你想要做的是“清除缓存”。加载大型图像会占用大量内存,众所周知,智能手机内存是一种有价值的商品......你无法获得足够的内存。特别是如果您使用运行时语言编程来处理堆存储和垃圾收集。通常,当可用RAM没有为所有“缓冲”请求提供足够的可寻址空间时,您会看到所获得的行为。你遇到的另一个问题是处理能力和内核......虽然现代手机相当不错,但与标准计算设备相比仍然存在问题。如果您的线程用完,应用程序必须等到一个空闲。这也可能导致你遇到的问题......事实上,我敢打赌这就是问题所在。我之前阅读了一篇论坛帖子可能有所帮助:

When should we delete the cache data in an iPhone apps?

您可以按如下方式清除缓存...但我不确定这会解决您的问题。如果要保留这些图像,是否打算将它们存储到手机的闪存中?请记住,如果您从内存中删除图像,则需要重新启动它们。如果我们在这里讨论背景图像,那么减小图像的大小...或者用DIV加载更大的图像和精灵可能是一个更好的建议。由于我不确定你如何构建“游戏”,我无法推断最佳选择。