2012-08-17 72 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)。