1

我对三星 s5360 和使用 textureatlas 有疑问。

我的项目使用的是 libgdx 框架,我通过 textureatlas 加载纹理:

atlas = new TextureAtlas( Gdx.files.internal( "res-atlases/pages-info" ) );

当我在 htc mytouch、htc one v 和 huawei 中运行它时,一切正常。但是当我在三星 s5360 中运行它时,我收到一个错误:

E/(2288): RTOS COMMON MEM zero linear buffer allocated 5603328 0 205

E/(2288): BIG MEM OUT OF HANDLES

08-17 15:02:36.867: E/AndroidRuntime(2288): java.lang.RuntimeException: OpenGL error code while loading texture: 1285 - textureFileHandle

08-17 15:02:36.867: E/AndroidRuntime(2288):     at com.p666.services.AtlasManager.newTextureAtlas(AtlasManager.java:50)

08-17 15:02:36.867: E/AndroidRuntime(2288):     at com.p666.screens.AbstractScreen.<init>(AbstractScreen.java:100)

08-17 15:02:36.867: E/AndroidRuntime(2288):     at com.p666.gamelogic.GameControl.create(GameControl.java:135)
08-17 15:02:36.867: E/AndroidRuntime(2288):     at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
08-17 15:02:36.867: E/AndroidRuntime(2288):     at com.badlogic.gdx.backends.android.surfaceview.GLSurfaceViewCupcake$GLThread.guardedRun(GLSurfaceViewCupcake.java:708)

08-17 15:02:36.867: E/AndroidRuntime(2288):     at com.badlogic.gdx.backends.android.surfaceview.GLSurfaceViewCupcake$GLThread.run(GLSurfaceViewCupcake.java:646)

纹理和字体以白色显示。我该如何解决?谢谢 :)

4

1 回答 1

3

这个:

加载纹理时的 OpenGL 错误代码:1285

表示您的 OpenGL 视频内存已用完

您正在加载的文件的大小、文件格式和图像格式(RGB8888?)是多少。在此之前您还加载了多少其他纹理?

您可能会发现有关有效显示位图的 Android 文档很有用。

对于 libGDX,您还可能受益于在旧/较小的手机上使用不同的(较小的)纹理格式。ResolutionFileResolver与 an 一起使用(AssetManager参见LibGDX 中的 AssetManager)。

于 2012-08-17T17:36:52.357 回答