我的朋友在摩托罗拉 Defy 上测试了我的应用程序(使用 CyanogenMod v4.x,我不记得确切的版本号,现在无法联系到她)。
我的应用程序使用 OpenGL ES(v1.1,在另一个活动中,v2.0)。她报告说,在每次“新游戏”开始时,都会缺少一些纹理,因此游戏图形仅被部分渲染。有时会加载所有纹理。(请注意,我们正确释放纹理。不存在泄漏。)
我们使用二次幂纹理。该应用程序可在各种非 CyanogenMod Android 设备(包括 Android 版本介于 2.2 和 4.2 之间的手机和平板电脑)上正常运行。也就是说,它在我们迄今为止测试过的所有测试设备上都运行良好。
OpenGL ES 不返回任何 glError,但我注意到一些纹理 ID 是负数(它们存储在int
Java 中,所以我认为这没关系)。与标准 Android 设备(纹理 ID 为 1、2、3、4、...)不同,此设备似乎返回完全随机的纹理 ID。
我需要担心这个问题吗?或者是否有可能责怪 CyanogenMod,我在 Google Play 上销售应用程序时不会遇到问题?