2012-09-15 8 views
12

Sto creando un calendario personalizzato per un'app Android. Il modo in cui funziona ora è che estrae gli eventi da un database MySQL online, li trasferisce in un JSONArray e li immette nel calendario da lì. Sta funzionando bene (se un po 'lento) su un emulatore, ma oggi ho collegato il mio S3 e mi sta dando errori che non ho ricevuto prima. Gli errori che sto ricevendo nel mio ceppo dicono:Fatal Spin-On-Suspend/Stuck on ThreadID

09-14 22: 52: 12,611: E/dalvikvm (4605): threadid = 2: bloccato su threadid = 1, rinunciando

09-14 22: 52: 12,611: E/dalvikvm (4605): Fatal spin-on-sospendere, le discussioni di dumping

Questo è l'AsyncTask che mantiene sempre appeso su:

package com.legends.app; 

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONArray; 
import android.os.AsyncTask; 
import android.util.Log; 

public class Events extends AsyncTask<Void, Void, String> { 

    JSONArray jArray; 
    public String result = null; 
    InputStream is = null; 
    StringBuilder sb=null; 
    HttpEntity entity; 

    protected String doInBackground(Void... arg0) { 

      //http post - calls from the php file that opens the DB 
      try{ 

       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new HttpPost("http://legendsofnotredame.org/club/mobile/android/cal.php"); 
       HttpResponse response = httpclient.execute(httppost); 

       entity = response.getEntity(); 

       }catch(Exception e){ 
        Log.e("log_tag", "Error in http connection"+e.toString()); 
       } 


      //convert response to string 
      try{ 

       is = entity.getContent(); 

       BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 

       sb = new StringBuilder(); 

       sb.append(reader.readLine() + "\n");     

       String line="0"; 
       while ((line = reader.readLine()) != null) { 
           sb.append(line + "\n"); 
        } 
        is.close(); 
        result=sb.toString(); 
        }catch(Exception e){ 
         Log.e("log_tag", "Error converting result "+e.toString()); 
        } 
      Log.e("test","Converted results to string"); 
      return result; 
    } 

    protected void onPostExecute(String result) { 


    } 

} 

Dopo aver aggiunto una tonnellata di registri, ho determinato che si stava bloccando su "sb.append (reader.readLine() +" \ n ");", e non sono sicuro di come farlo non farlo. Qualche consiglio?

Modifica: Ecco il (quasi) logcat completo per eseguirlo, a partire da dove si blocca su readLine. Ho dovuto aggiungere alcune righe di non avviso/non errore all'inizio perché questo post è troppo lungo, scusa!

09-15 14:02:13.251: W/dalvikvm(21710): threadid=2: spin on suspend #1 threadid=1 (pcf=0) 
09-15 14:02:14.001: W/dalvikvm(21710): threadid=2: spin on suspend #2 threadid=1 (pcf=0) 
09-15 14:02:14.752: W/dalvikvm(21710): threadid=2: spin on suspend #3 threadid=1 (pcf=0) 
09-15 14:02:15.503: W/dalvikvm(21710): threadid=2: spin on suspend #4 threadid=1 (pcf=0) 
09-15 14:02:16.254: W/dalvikvm(21710): threadid=2: spin on suspend #5 threadid=1 (pcf=0) 
09-15 14:02:16.254: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:16.254: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:16.254: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:16.254: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:16.254: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:16.254: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:16.254: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:16.254: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:16.254: I/dalvikvm(21710): | schedstat=(0 0 0) utm=640 stm=5 core=0 
09-15 14:02:16.254: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:16.254: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:16.254: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:16.254: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:16.254: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:16.254: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:17.005: W/dalvikvm(21710): threadid=2: spin on suspend #6 threadid=1 (pcf=0) 
09-15 14:02:17.005: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:17.005: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:17.005: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:17.005: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:17.005: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:17.005: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:17.005: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:17.005: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:17.005: I/dalvikvm(21710): | schedstat=(0 0 0) utm=712 stm=5 core=0 
09-15 14:02:17.015: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:17.015: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:17.015: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:17.015: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:17.015: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:17.015: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:17.765: W/dalvikvm(21710): threadid=2: spin on suspend #7 threadid=1 (pcf=0) 
09-15 14:02:17.765: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:17.765: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:17.765: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:17.765: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:17.765: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:17.765: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:17.765: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:17.765: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:17.765: I/dalvikvm(21710): | schedstat=(0 0 0) utm=762 stm=5 core=0 
09-15 14:02:17.765: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:17.765: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:17.765: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:17.765: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:17.765: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:17.765: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:18.516: W/dalvikvm(21710): threadid=2: spin on suspend #8 threadid=1 (pcf=0) 
09-15 14:02:18.516: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:18.516: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:18.516: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:18.516: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:18.516: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:18.516: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:18.516: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:18.516: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:18.516: I/dalvikvm(21710): | schedstat=(0 0 0) utm=834 stm=5 core=0 
09-15 14:02:18.516: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:18.516: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:18.516: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:18.516: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:18.516: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:18.516: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:19.267: W/dalvikvm(21710): threadid=2: spin on suspend #9 threadid=1 (pcf=0) 
09-15 14:02:19.267: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:19.267: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:19.267: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:19.267: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:19.267: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:19.267: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:19.267: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:19.267: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:19.267: I/dalvikvm(21710): | schedstat=(0 0 0) utm=906 stm=5 core=0 
09-15 14:02:19.267: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:19.267: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:19.267: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:19.267: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:19.267: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:19.267: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:20.018: W/dalvikvm(21710): threadid=2: spin on suspend #10 threadid=1 (pcf=0) 
09-15 14:02:20.018: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=979 stm=5 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:20.018: E/dalvikvm(21710): Fatal spin-on-suspend, dumping threads 
09-15 14:02:20.018: I/dalvikvm(21710): DALVIK THREADS: 
09-15 14:02:20.018: I/dalvikvm(21710): (mutexes: tll=2 tsl=1 tscl=0 ghl=1) 
09-15 14:02:20.018: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=979 stm=5 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 
09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "AsyncTask #1" prio=5 tid=11 SUSPENDED 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x41a23660 self=0x12d4758 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21739 nice=10 sched=0/0 cgrp=bg_non_interactive handle=19348592 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=18 stm=2 core=1 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:~128) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.StringBuilder.append(StringBuilder.java:271) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.io.BufferedReader.readLine(BufferedReader.java:417) 
09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.Events.doInBackground(Events.java:56) 
09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.Events.doInBackground(Events.java:1) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.os.AsyncTask$2.call(AsyncTask.java:264) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
09-15 14:02:20.018: I/dalvikvm(21710): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 
09-15 14:02:20.018: I/dalvikvm(21710): "Binder Thread #2" prio=5 tid=10 SUSPENDED 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b8f08 self=0x12dec18 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21722 nice=0 sched=0/0 cgrp=default handle=18856864 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "Binder Thread #1" prio=5 tid=9 SUSPENDED 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b8540 self=0x12dcf78 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21721 nice=0 sched=0/0 cgrp=default handle=19135504 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "FinalizerWatchdogDaemon" daemon prio=5 tid=8 WAIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b53d8 self=0x12e6520 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21720 nice=0 sched=0/0 cgrp=default handle=18832048 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=1 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): - waiting on <0x40c474f0> (a java.lang.Daemons$FinalizerWatchdogDaemon) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Object.java:364) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 
09-15 14:02:20.018: I/dalvikvm(21710): "FinalizerDaemon" daemon prio=5 tid=7 WAIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b5280 self=0x12d3a48 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21719 nice=0 sched=0/0 cgrp=default handle=18676648 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): - waiting on <0x40c355d0> (a java.lang.ref.ReferenceQueue) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Object.java:401) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 
09-15 14:02:20.018: I/dalvikvm(21710): "ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b5118 self=0x12e7bd8 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21718 nice=0 sched=0/0 cgrp=default handle=18676448 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): - waiting on <0x40c354f8> 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Object.java:364) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128) 
09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 
09-15 14:02:20.018: I/dalvikvm(21710): "Compiler" daemon prio=5 tid=5 VMWAIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=1 dsCount=0 obj=0x419b5028 self=0x12b2640 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21717 nice=0 sched=0/0 cgrp=default handle=18856760 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=2 stm=2 core=1 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "JDWP" daemon prio=5 tid=4 VMWAIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=1 dsCount=0 obj=0x419b4f40 self=0x1269cc0 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21715 nice=0 sched=0/0 cgrp=default handle=19135712 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=1 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "Signal Catcher" daemon prio=5 tid=3 VMWAIT 
09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=1 dsCount=0 obj=0x419b4e48 self=0x12abed8 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21713 nice=0 sched=0/0 cgrp=default handle=18712776 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 
09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 
09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 
09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=(0 0 0) utm=0 stm=0 core=0 
09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 
09-15 14:02:20.018: E/dalvikvm(21710): threadid=2: stuck on threadid=1, giving up 
09-15 14:02:20.018: D/dalvikvm(21710): threadid=2: sending two SIGSTKFLTs to threadid=1 (tid=21710) to cause debuggerd dump 
09-15 14:02:20.018: D/dalvikvm(21710): NOTE: pthread_kill #1 failed: Operation not permitted 
09-15 14:02:22.010: D/dalvikvm(21710): NOTE: pthread_kill #2 failed: Operation not permitted 
09-15 14:02:22.010: D/dalvikvm(21710): Sent, pausing to let debuggerd run 
09-15 14:02:30.018: D/dalvikvm(21710): Continuing 
09-15 14:02:30.018: E/dalvikvm(21710): VM aborting 

E qui è dove lo chiamo nell'attività principale. Questi sono anche due file separati, non so se sia rilevante, ma potrebbe essere, non lo so.

Events db = new Events(); 
     db.execute(); 
     while (db.result == null){ 
     continue;} 
     result = db.result; 
+1

aggiungere il logcat qui, penso che ci s niente di sbagliato nel tuo asynctask l'unica cosa sbagliata può b la parte di esecuzione basta aggiungere il codice execute e logcat qui. – PiyushMishra

+0

Ho modificato quanto più possibile con il limite di caratteri nel post, sperando che ciò sia d'aiuto. – Nickel

risposta

11

L'ho capito dopo un altro giorno di giocarci. E 'stato cronometrando fuori a causa di queste linee nel non AsyncTask:

while (db.result == null) { 
    continue; 
} 

Ci sono voluti questo come "tu sei stato preso per sempre in un ciclo while e quindi il programma deve avere crash", quando in realtà era solo Prendendo tempo per leggere gli eventi. Tuttavia, senza di ciò, si andrebbe semplicemente avanti senza aver caricato completamente gli eventi, creando una NullPointerException quando tenta di utilizzare quell'array. Quello che ho fatto è stato invece fare questo:

while (db.result == null){ 
    try { 
     Thread.sleep(100); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    continue; 
} 

Il sonno sembra rispedire al app che sono ancora lì, in attesa per i dati in modo da poter continuare. O quello o rallenta la quantità di volte che passo attraverso il ciclo while. Non sono sicuro di quale sia, ma in entrambi i casi risolve il problema.

+0

Bel tentativo ... accetta la tua risposta se ha risolto il problema. – mrz

+0

Grazie per questo puntatore non avrò capito, visto solo su MOTO G finora. Problema molto oscuro. Ora andrò a dare un'occhiata, questa chiamata di sonno sembra un po 'disordinata, forse qualcosa per un AsyncTask o un Handler da gestire è che stai facendo come me e aspetto un thread per eseguire un'attività. –

+0

C'è qualche motivo per cui il sonno è di 100? Ho appena provato il mio MOTO G con un valore di sonno di 1 e l'errore è ancora risolto. Ma è sicuro farlo? Ovviamente da un codice POV il più piccolo dorme meglio, eppure non voglio lasciarlo aperto per rompere su altri dispositivi. –

0

sono andato su questo un modo leggermente diverso:

Per prima cosa ho impostato un campo nella classe AsyncTask

private boolean taskDone = false; 

Poi, dopo il codice doInBackground (o in postExecute):

this.taskDone = true; 

Infine aggiungere un metodo al AsyncTask:

public boolean isTaskDone() { 
    return taskDone; 
} 

Ora è possibile utilizzare isTaskDone come l'argomento nel ciclo while:

while (!isTaskDone()) { 
// wait for task 
} 

Proprio modo di fare il mio, io sono sicuro che ci sono molti di più