我正在开发 opengl ES 2.0 动态壁纸。通常,当一个引擎被销毁时,它的方法 onSurfaceDestroyed
和 onDestroy
被调用。我注意到当我点击“设置壁纸”按钮时,onSurfaceDestroyed
和 onDestroy 没有被调用。
此方法可用于破坏 opengl ES 上下文。每次墙纸在正常模式和预览模式之间切换时,墙纸都会因资源泄漏而崩溃。有人遇到同样的问题吗?
最佳答案
我很确定我已经为遇到此问题的其他人解决了这个问题。
似乎当我已经运行了墙纸,然后在其预览中单击“设置墙纸”时,不会调用 onDestroy() 方法。但是,可以将取消位图和调用 stopSelf() 放在 onSurfaceDestroyed 方法中,这似乎适用于打开的 WallpaperService Engine 的每个实例。这可能不是正确的做事方式,但目前看来工作正常。
关于java - 关闭预览模式时,动态壁纸引擎不会调用 onDestroy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049388/