我对samsung s5360和使用textureatlas有问题。
我的项目正在使用libgdx框架,我通过textureatlas加载纹理:
atlas = new TextureAtlas( Gdx.files.internal( "res-atlases/pages-info" ) );
当我在htc mytouch,htc one v和huawei中运行时,一切正常。但是当我在samsung 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)
纹理&amp;字体以白色显示。 我该如何解决?谢谢:))
答案 0 :(得分:3)
此:
加载纹理时的OpenGL错误代码:1285
表示你run out of OpenGL video memory。
您要加载的文件的大小,文件格式和图像格式(RGB8888?)是多少?你在这之前加载了多少纹理?
您可能会发现Displaying Bitmaps Efficiently上的Android文档很有用。
对于libGDX,您还可以在旧手机/小手机上使用不同(较小)的纹理格式。将ResolutionFileResolver
与AssetManager
一起使用(请参阅AssetManager in LibGDX)。