2015-08-27 3 views
16

При отладке в Android Studio, в некоторых сценариях сбои приложений с исключением следующего:InterruptedException при отладке Android приложение

08-27 18:01:25.144 19241-24656/? E/AndroidRuntime﹕ FATAL EXCEPTION: pool-7-thread-1 
Process: com.callsign.android.dev, PID: 19241 
java.lang.InterruptedException 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1991) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2025) 
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
     at java.lang.Thread.run(Thread.java:820) 

Это происходит

  • только при отладке
  • только на некоторые устройства (т.е. Moto G, Nexus 4)

Это, например, не Oneplus One или Xperia L.

Я еще не нашел никакой другой информации, которая поможет нам определить проблему. Кто-нибудь еще сталкивается с этой проблемой?

+2

Сейчас я видящий этот вопрос на Genymotion эмулировать устройства, а также. К сожалению, у меня нет никакого понимания этой проблемы. –

+0

У меня такая же проблема на Samsung –

+0

Я столкнулся с такой же проблемой, но не только с отладкой, но и с живым приложением. если кто-нибудь может помочь, это будет оценено –

ответ

0

Попробуйте выполнить задачу Async или для вашей части кода. "AbstractQueuedSynchronizer" выглядит проблема синхронизации.

public class Task extends AsyncTask<Void, Void, Void> 
    { 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
     } 

     protected Void doInBackground(Void... paths) { 
      //here your code (approx from line 400 to 850) 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void result) { 
      super.onPostExecute(result); 
     } 
    } 

для задачи вызова по нажатию кнопки или из любого другого метода

new Task().execute(); 
Смежные вопросы