0

我正在为一个班级创建一个项目,但遇到了一些滞后问题。加载地图后,要么什么都不会发生,因此您必须返回并重新加载它,它会工作一段时间,或者在进行一些移动后,我的手机/模拟器将需要几秒钟,直到您可以进行下一步操作。这就是我设置课程的方式:

我有我的地图类作为主控制器。有不同的地图,但它们的工作原理都是一样的。map 类从布局中设置内容视图,就像普通的具有空的相对布局一样,它创建节点、线并具有游戏规则类来检查玩家执行的不同动作。节点、线条和游戏规则的类扩展了 View,因此在 onDraw() 中,我用定义的坐标绘制正方形并将它们添加到地图类的视图中。根据玩家的行为,线条和节点将调用 postInvalidate() 来更新数字或颜色。在游戏规则类中,它不断检查赢家或输家并显示轮到谁了,但我在 onDraw() 中有 invalidate() ,因此它不断被重绘。绘制了 6 个以上的节点和 10 多条线,游戏规则覆盖了所有内容。

我知道使用 sleep() 并不理想,但是自从创建游戏规则类并在 onDraw() 内部使用 invalidate 以来,我一直在经历这种情况。我在路上,但我可以稍后发布代码。我也被困在这个项目中使用画布,因为没有其他从事这个项目的人接触过 Android。

先感谢您!

TL;DR:如何更好地优化使用画布?

4

0 回答 0