我的Android应用程序已经发布了几个月,并且可以在任意数量的WVGA手机上正常工作,比如Droid、Droid 2、Galaxy等等。
然而,在摩托罗拉Xoom上,有一小部分纹理加载白色框,图像应该在其中。
在线研究最常见的原因似乎是没有使用两种纹理的力量。这似乎是一个不太可能的解释,因为它们在许多其他设备上运行良好。另外,我正在使用两种纹理的力量。请注意,我正在动态地将一串位图加载到1024×1024纹理中。我使用的代码来自一个名为Rokon的已经失效的库,相关的纹理地图集代码就在这里:http://code.google.com/p/rokon/source/browse/trunk/src/com/stickycoding/rokon/TextureAtlas.java?r=260 --就像我说的,我怀疑这可能是原因,因为它能在很多其他设备上工作,而且我用这种方式加载的许多纹理都工作得很好。
但我不确定还会是什么引起的。考虑到Xoom上可用的内存与应用程序使用的其他设备相比,内存问题似乎不太可能出现。
现在我没有变焦,但是我可以通过DeviceAnywhere复制这个问题(在这里我可以看到白色背景)。
在LogCat中也没有什么值得注意的地方。
我知道这没什么可做的,但是我现在很困惑,我应该在这里找出哪些潜在的原因呢?提前谢谢你的任何想法。
发布于 2011-03-15 21:55:45
尝试使用glGetError()来查看OpenGL是否抛出任何错误
发布于 2011-03-15 22:18:53
您的应用程序是2D还是3D?当你在屏幕上画你的精灵时,你用的是哪种方法?
如果您的纹理在onDrawFrame期间是白色的,这可能取决于:
draw_texture扩展的支持-如果您使用的是2D在运行时,使用以下代码获取扩展并检查它们是否可用:
String extensions = gl.glGetString(GL10.GL_EXTENSIONS);
boolean supportsDrawTexture = extensions.contains("GL_OES_draw_texture");
// Continue here and sooner or later you should see where Xoom lacks support
// where other devices doesn't.发布于 2011-03-16 08:53:24
你有可能对Android的自动调整位图行为产生抵触吗?在加载以检查位图大小时,打印出它们,或者将它们移动到res/可绘制-结核,以完全避免这种行为。
https://stackoverflow.com/questions/5317967
复制相似问题