java - 整个应用程序的 LibGDX 公共(public) Sprite 批处理

标签 java android object memory-management libgdx

这里的问题是,在 Game 类中拥有一个公共(public) SpriteBatch 是否是一个好主意,然后由所有屏幕使用它。这将避免每当 Activity 屏幕发生变化时重新分配对象。

但是,我看到人们在每个屏幕中都使用新的私有(private) SpriteBatches。人们为什么要这样做?我在这里遗漏了什么吗?

最佳答案

建议使用单个 Batch 实例,但我认为公共(public)(或静态)变量不是一个好主意,因为它们破坏了封装并使重构代码变得更加困难。想象一下将屏幕类移动到另一个应用程序:您必须替换 Game 扩展中对批处理的所有引用,否则您将被迫在另一个项目中创建此类字段。

相反,我会在屏幕构造函数中传递批处理。毕竟,屏幕用于显示 View :无需告知他们应用程序的其余部分。

关于java - 整个应用程序的 LibGDX 公共(public) Sprite 批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35001119/

相关文章:

c++ - 在 Objective C 中添加 "->"

java - 使用 CSS Parser 和 Regex (Java) 替换 CSS 中的 url

java - hibernate validator 奇怪的 IOException : Stream closed

Android - 如何从 ImageButton 数组中获取特定 ID?

android - 使用对象数组列表作为微调器适配器

javascript - 使用循环 javascript 声明多个变量

JavaScript 对象和属性

java - 使用 Java 将 ASCII 转换为 UTF-16

java - JMS消息监听器执行失败,没有设置ErrorHandler

java - 益智游戏安卓DFS算法