如何修改我的应用程序/游戏,以便它可以快速加载?

时间:2016-06-06 08:24:06

标签: android android-studio surfaceview runnable 2d-games

我使用扩展 SurfaceView 实现Runnable 的类创建了一个简单的游戏。在游戏中,绘图是在公共无效运行内完成的。一旦活动启动,线程就会将其作为目标。游戏需要花费大量时间(有时是10-15秒)来加载。当游戏暂停( thread.join())并恢复( thread = new Thread(this); thread.start())时,它需要太多时间。 什么可能使游戏加载缓慢?什么是解决方案?

2 个答案:

答案 0 :(得分:0)

最常见的原因是资源加载。

I / O操作非常慢,因此,如果您在实际绘制之前尝试加载所有位图,这可能会在绘图实际开始之前导致显着延迟。

避免这种情况的一种策略是在实际需要开始使用资产之前预先加载资产。很多游戏都是在所谓的Splash屏幕上做到这一点。此外,不要太快回收您的资产并释放他们正在使用的内存。这意味着您需要在下次启动时重新加载它们。

总的来说,没有确切的方法可以做到这一点 - 在加载时间和内存消耗之间存在不断的权衡。您只需要进行实验并尝试查看最适合您用例的内容。

请务必使用您的IDE分析您的应用,检查对象创建和内存分配调用。大多数情况下,您可以轻松找出问题的原因。

答案 1 :(得分:0)

我发现游戏加载缓慢,因为线程一直在运行,没有任何睡眠。因此,只需在运行中添加Thread.sleep(15);并处理所有异常,就可以解决此问题。感谢您的支持。