这个问题有点扯远了,因为我并不是说要放置屏幕本身。我使用的是一个枚举和切换语句来切换屏幕,而不是屏幕和游戏类。我在这里真正要问的是,当我从一种游戏状态转换到另一种游戏状态时,我是否应该事先处理所有的一次性用品?或者我只是保留所有这些而不担心它,尽管由于我正在渲染一个单独的屏幕而不再渲染它们?每当我想切换到另一个屏幕时,我都会觉得不得不在屏幕上放置所有资源,所以我想知道它是否真的有必要。何时在LibGDX中处理屏幕?
0
A
回答
2
这是你的选择和你的游戏类型(你的游戏是否有很多资源)。
如果有很多资源,那么最好是配置一个屏幕的资源,然后在内存中加载另一个屏幕的资源,然后使用该资源。
在这种情况下显示异步加载屏幕和加载资源。
如果没有足够的资源,只有在您退出游戏时才会处理资源。继承游戏的dispose()
是在这种情况下处置你的游戏资源的最佳地方,并且从这里开始调用屏幕。以便屏幕特定资源可以处理。
0
简单的规则可以是:
如果您加载东西(纹理,TextureAtlas,音乐,声音等),在应用程序启动和你没有内存堆的问题 - 在应用Dispose方法处理它。
但是,如果您在屏幕启动时为屏幕加载特殊的东西,则应该将其置于屏幕处理方法中。
如果您不处理ex的资源。即使你不渲染它,纹理仍将保留在内存中。当您在屏幕内部加载一些纹理而不将其放置在屏幕处理方法中时,它可能会导致内存泄漏,因为当您再次启动屏幕时第二次加载相同的纹理。
相关问题
- 1. Libgdx:屏幕
- 2. LibGDX在重载处理期间加载屏幕
- 3. 处理Libgdx应用程序的屏幕在Android
- 4. Libgdx拟合屏幕
- 5. Libgdx切换屏幕
- 6. 如何在Libgdx中管理多个屏幕的后退按钮?
- 7. 如何处理在屏幕上
- 8. Libgdx在游戏中弹出屏幕与输入处理器冲突
- 9. 在android中处理屏幕方向?
- 10. 处理servlet时获取空白屏幕
- 11. 屏幕关闭时处理手势(Android)
- 12. libgdx - 当我调用setScreen()设置一个新屏幕时,屏幕在新屏幕和旧屏幕之间闪烁
- 13. Libgdx屏幕不交换
- 14. libGdx屏幕出现错误
- 15. android活动到libGdx屏幕
- 16. 处理屏幕方向 - Android
- 17. 处理屏幕方向
- 18. 处理白色屏幕?
- 19. Android - 处理屏幕方向
- 20. 在屏幕在libgdx中可见时会得到通知
- 21. 舞台比LibGDX中的屏幕大,如何将它放在屏幕上?
- 22. 如何在旋转屏幕时处理控件大小调整
- 23. 如何在进度条工作时处理屏幕翻转?
- 24. libgdx如何将屏幕分割4份
- 25. 如何处理屏幕亮度
- 26. 如何处理Android XLarge屏幕?
- 27. 如何处理屏幕方向?
- 28. 在iPad上处理外部屏幕
- 29. LibGDX中的空指针初始屏幕
- 30. LinearLayout中的Admob Banner与Libgdx屏幕