アプリに少し問題があります。samsung galaxy S3 を使用してアプリを開発し、テストしましたが、すべて問題ありませんでした。しかし、ここに問題があります。アプリを完成させた後、他のデバイスでテストを開始しました。このアプリは、他の Galaxy S3 と Galaxy S では問題なく動作しました。しかし、Sony Xperia と LG Optimus Net Dual で実行しようとすると、画面が真っ暗になってしまいました。
さらに興味深いのは、これらのデバイスのアプリ、サウンド機能は問題なく、広告が表示され、アプリはタッチに完全に反応しますが、黒い画面しか描画しないことです! それは本当に奇妙です...彼らはopengles 2をサポートしていないようですが、彼らはサポートしており、AndroidバージョンはXperiaでは4.0 ICS、LGでは2.2です!
誰でもこれが何であるか知っていますか? または同様の問題がありますか?コードが必要な場合は、ここに投稿してください。助けてくれてありがとう!
編集:
私の負荷テクスチャ:
public static int loadTexture(final int ResourceId, final int min_filter, final int mag_filter) {
for (int i=0;i<nTextures;i++) if (Textures[i*2]==ResourceId) return Textures[i*2+1];
int[] textureHandle = new int[1];
GLES20.glGenTextures(1, textureHandle, 0);
if (textureHandle[0] != 0)
{
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;
final Bitmap bitmap = BitmapFactory.decodeResource(GLRenderer.mContext.getResources(), ResourceId, options);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, min_filter);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, mag_filter);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,GLES20.GL_CLAMP_TO_EDGE);
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0,GLES20.GL_RGBA, bitmap, 0);
bitmap.recycle();
}
if (textureHandle[0] == 0) throw new RuntimeException("Error loading texture.");
Textures[nTextures*2]=ResourceId;
Textures[nTextures*2+1]=textureHandle[0];
nTextures++;
return textureHandle[0];
}
編集2:
私のGLSurfaceViewの作成:
GLActivityView(GLActivity context) {
super(context);
setEGLContextClientVersion(2);
// getHolder().setFormat(PixelFormat.TRANSLUCENT);
// setEGLConfigChooser(8, 8, 8, 8, 8, 8);
renderer = new GLRenderer(context);
setRenderer(renderer);
}