我很不清楚如何dispose()
LibGDX 框架中的方法有效并且应该使用。据我所知,当你不需要某种资源后,你必须进行处置以确保你的程序运行最佳。
我正在开发一个移动应用程序,并且我有一个AssetManager
在启动时在特殊指定的加载屏幕中加载所有必需的资源。问题是我不知道何时或是否应该卸载或处置它们。
当我开始开发应用程序时,我没有让管理器在开始时加载所有资源,并且程序花费了太长时间来加载一个应用程序的所有资源。Screen
每次被访问时。
你可以看到dispose()
LibGDX API 的一些类/接口中的方法
-
dispose()
的方法ApplicationListener
接口,当然还有他实现的类内部ApplicationAdapter
, Game
dispose()
的方法ApplicationListener
是生命周期方法,在应用程序被销毁时调用。您在其中创建的任何一次性资源create()
方法应该在这个方法中被销毁。
-
dispose()
的方法Screen
接口和他的适配器类ScreenAdapter
如果您想要一些特定的资源Screen
然后在中创建该资源show()
方法并在此销毁dispose()
方法,但屏幕的dispose()
不被调用ApplicationListener
生命周期方法,所以你需要自己调用。我更喜欢打电话dispose()
方法通过hide()
Screen 接口的方法。
-
dispose()
许多类的方法(例如SpriteBatch
, Stage
, AssetManager
还有更多..)LibGDX API。
In 1st and 2nd points I use a term disposable resource
. How I know which is disposable object. In libGDX there is Interface Disposable
, LibGDX classes use this interface to release resources obtained by some object.
-
dispose()
的方法Disposable
界面
任何实现的类Disposable
接口需要处理。
这就是关于dispose()
method.
-
如果您正在创建需要大量资源的大型游戏,那么将所有资源保留在内存中并不可取,因此您需要卸载一些不使用的资源。
假设我们正在创建有两个游戏的游戏,其中一个是gardening
一种是3 match game
,两种游戏都需要大量资源,因此当我们从一个游戏转到另一个游戏时,从 AssetManager 中卸载以前的游戏资源并将新的游戏资源加载到AssetManager
.
你应该只保留一个对象AssetManager
在您的应用程序中,并且必须丢弃在ApplicationListener
's dispose()
method.
如果您正在开发小型项目/游戏,您可以避免加载和卸载资源,创建对象AssetManager
曾在create()
方法,加载所需的资源并在您的游戏中使用dispose()
当您退出游戏时dispose()
的方法ApplicationListener
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)