2012-08-17 43 views
1

我有一个三星s5360和使用textureatlas问题。加载三星galaxy y上的纹理(s5360)

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

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

当我在HTC的myTouch,HTC一个v和华为运行它,一切正常。但是,当我在三星运行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) 

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

回答

3

此:

OpenGL error code while loading texture: 1285

意味着你已经run out of OpenGL video memory

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

您可能会发现Displaying Bitmaps Efficiently上的Android文档有用。

对于libGDX,您可能也会受益于在较旧/较小手机上使用不同(较小)的纹理格式。使用ResolutionFileResolverAssetManager(请参阅AssetManager in LibGDX)。