我有一个问题,那是什么?
E/EGL_emulation: tid 3912: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH)
我该怎么做才能解决这个错误?
public class Main extends AppCompatActivity {
public TextView score;
public ImageView alergator1;
public ImageView alergator2;
public FrameLayout frame;
public int scoreINT;
public float frameHigh;
public float frameWidh;
public float alergator1X;
public float alergator1Y;
public float alergator2X;
public float alergator2Y;
public ImageView miscare;
public int x;
private Handler handler = new Handler();
private static Timer timer = new Timer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
score = (TextView) findViewById(R.id.Score);
alergator1 = (ImageView) findViewById(R.id.runner);
alergator2 = (ImageView) findViewById(R.id.runner2);
frame = (FrameLayout) findViewById(R.id.Frame);
frame.post(new Runnable() {
@Override
public void run() {
frameHigh = frame.getHeight();
frameWidh = frame.getWidth();
}
});
alergator1.post(new Runnable() {
@Override
public void run() {
alergator1X = frameWidh / 2;
alergator1.setX(alergator1X);
alergator1Y = frameHigh - 250;
alergator1.setY(alergator1Y);
}
});
alergator2.post(new Runnable() {
@Override
public void run() {
alergator2X = frameWidh / 2;
alergator2.setX(alergator2X);
alergator2Y = frameHigh - 250;
alergator2.setY(alergator2Y);
}
});
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
x++;
if (x % 2 == 0) {
alergator1.setVisibility(View.INVISIBLE);
alergator2.setVisibility(View.VISIBLE);
} else {
alergator2.setVisibility(View.INVISIBLE);
alergator1.setVisibility(View.VISIBLE);
}
}
});
}
}, 0, 900);
这是代码,应用程序运行正常,但我想知道发生了什么。也许我的代码混乱,但我是初学者。
答案 0 :(得分:5)
EGL表示仿真图形库。 Android移动设备操作系统使用EGL进行3D图形渲染。 从wiki获取有关EGL的更多知识:https://en.wikipedia.org/wiki/EGL_(API)
当它显示EGL_BAD_MATCH时,您/系统选择的仿真图形库是坏的。有两种EGL模式,如下图所示。 。
解决方案:哪种模式有问题,只需更改为其他模式即可解决。请注意,在软件仿真模式下运行可能比设置硬件仿真模式慢得多。有些情况下会抛出错误(显示),但应用程序运行正常。如果是这种情况,您可能希望忽略错误并享受卓越的图形仿真。
答案 1 :(得分:1)
我也遇到了类似的问题,我尝试了一个简单的示例应用程序并显示此错误。在我的情况下,我关闭了android studio的即时运行功能,它就消失了。我不知道为什么,但你可以尝试一下。