2015-08-27 15 views
16

Wenn in Android Studio debuggen, in bestimmten Szenarien der App stürzen mit folgenden Ausnahme:InterruptedException beim Debuggen Android App

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) 

Dies geschieht

  • nur beim Debuggen
  • nur auf bestimmte Geräte (dh Moto G, Nexus 4)

Es passiert nicht zum Beispiel auf OnePlus One oder Xperia L.

Ich habe keine anderen Informationen gefunden, die uns helfen, das Problem zu identifizieren. Hat sonst noch jemand auf dieses Problem hingewiesen?

+2

ich zur Zeit auf Genymotion dieses Problem sehe emulierten Geräte als auch. Leider habe ich keinen Einblick in das Thema. –

+0

Ich habe das gleiche Problem auf Samsung –

+0

Ich habe das gleiche Problem auf, aber nicht nur debuggen sondern auch auf Live-App. Wenn jemand helfen kann, würde es geschätzt werden –

Antwort

0

Versuchen Async Task oder für Ihren Teil des Codes. "AbstractQueuedSynchronizer" sieht Synchronisierungsproblem.

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

für Call-Task auf die Schaltfläche klicken oder von jeder anderen Methode

new Task().execute(); 
Verwandte Themen