2016-11-19 39 views
10

Tôi có một câu hỏi, đó là gì?Lỗi "EGL_BAD_MATCH" trong trình mô phỏng Android Studio

E/EGL_emulation: tid 3912: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 

Tôi nên làm gì để giải quyết lỗi đó?

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); 

Đó là mã, ứng dụng chạy đúng, nhưng tôi muốn biết điều gì đang xảy ra. Có lẽ mã của tôi là vô trật tự, nhưng tôi là người mới bắt đầu.

+0

bạn cần phải nói những gì bạn làm khi bạn gặp lỗi này và mã bạn gặp phải khi lỗi này phát sinh – aleksandrbel

+0

http://stackoverflow.com/questions/28966496/android-studio-emulator-eglsurfaceattrib-not-implemented dont có đủ đại diện để nhận xét – Aaahh

+0

Chào mừng bạn đến với Stack Overflow! Tôi đã chỉnh sửa câu hỏi của bạn. Bạn có lẽ có thể cải thiện nó bằng cách giảm mã của bạn xuống số lượng nhỏ nhất của mã để tái tạo lỗi, nhưng trên toàn bộ đây là một câu hỏi khá. –

Trả lời

1

Tôi cũng gặp phải sự cố tương tự, tôi đã thử một ứng dụng mẫu đơn giản và nó hiển thị lỗi này. Trong trường hợp của tôi, tôi đã tắt tính năng chạy tức thì của android studio và nó biến mất. Tôi không biết tại sao nhưng bạn có thể thử.

+0

Đối với tôi, mẹo này không hữu ích. – Gaston

4

EGL có nghĩa là Thư viện đồ họa mô phỏng. Hệ điều hành thiết bị di động Android sử dụng EGL để dựng hình đồ họa 3D. Tìm hiểu thêm về EGL từ wiki: https://en.wikipedia.org/wiki/EGL_(API)

Khi nói EGL_BAD_MATCH, Thư viện đồ họa mô phỏng của bạn mà bạn/hệ thống đã chọn là xấu. Có hai chế độ EGL như hình dưới đây. enter image description here.

Giải pháp: Chế độ nào đang gây ra sự cố, chỉ cần thay đổi sang chế độ khác, nó sẽ khắc phục. Lưu ý rằng chạy trong chế độ mô phỏng phần mềm có thể chạy chậm hơn đáng kể so với chế độ mô phỏng phần cứng. Có những trường hợp lỗi được ném (được hiển thị) nhưng ứng dụng chạy ổn. Nếu đây là trường hợp, bạn có thể muốn bỏ qua các lỗi và thưởng thức mô phỏng đồ họa cao cấp.

Các vấn đề liên quan