我一直在开发利用GLWallpaperService一个动态壁纸,并已得到了全面良好的效果。它在仿真器中运行稳定,看起来不错。我之前已经处理过很多次OpenGL,因此对于如何做事情有着坚实的指令......不幸的是,我有一段时间让这个实际上在实际的硬件上保持稳定。Android动态壁纸:waitForCondition(ReallocateCondition)
基本symption当你进出几次滑动在摩托罗拉Droid物理键盘出现。这会导致壁纸快速连续被破坏/重新创建几次 - 这很好,因为我的资产在onDestroy中清理并在onSurfaceChanged中重新加载。问题是经过几次迭代之后,(可能是四到五次)onSurfaceChanged的调用完全停止,并且我得到了一个打印到日志的无尽字符串:
04-02 00:53:18.088: WARN/SharedBufferStack(1032):waitForCondition(ReallocateCondition)超时(身份= 337,状态= 0)。 CPU可能与挂钩。再试一次。
有什么我应该在这里除了对Android系统的典型onSurfaceCreated/onSurfaceChanged/onSurfaceDestroyed三巨头实现?浏览通过WallpaperService和WallpaperRenderer类不会显示任何明显的东西。