2016-06-19 8 views
1

Ich versuche, Json-Objekt mit URL herunterladen, für die ich eine AsyncTask erstellt habe. Wann immer ich meine Anwendung starte, startet übermäßiger Müllsammler. Ich kann nicht verstehen, wo ich falsch liege. Ich führe keine schwere Speicherverbrauchsaufgabe aus, die nur versucht, API für JSON-Antwort zu nennen.übermäßige Müllsammler in android für AsyncTask

MainActivity Code:

public class MainActivity extends AppCompatActivity { 


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

    @Override 
    protected String doInBackground(String... urls) { 

     String result=null; 
     URL url; 
     HttpURLConnection httpURLConnection=null; 

     try { 
      url= new URL(urls[0]); 
      httpURLConnection= (HttpURLConnection) url.openConnection(); 
      InputStream inputStream= httpURLConnection.getInputStream(); 
      InputStreamReader inputStreamReader= new InputStreamReader(inputStream); 
      int data= inputStreamReader.read(); 
      while(data !=1){ 
       char current= (char) data; 
       result +=current; 
       data= inputStreamReader.read(); 
      } 
      return result; 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

    @Override 
    protected void onPostExecute(String result) { 
     super.onPostExecute(result); 
     Log.i("webssite Content :",result); 
    } 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    DownloadTask downloadTask= new DownloadTask(); 
    downloadTask.execute("http://api.openweathermap.org/data/2.5/weather?q=London&appid=5868b18238384fb4bdb3123jn9f0847cc"); 
}} 

Logcat

06-19 08:45:57.149 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.149 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720030-byte allocation 
06-19 08:45:57.149 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 6ms, total 6ms 
06-19 08:45:57.159 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 5ms, total 5ms 
06-19 08:45:57.159 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.159 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720034-byte allocation 
06-19 08:45:57.159 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.169 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.169 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 2ms, total 2ms 
06-19 08:45:57.169 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720036-byte allocation 
06-19 08:45:57.179 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 4ms, total 4ms 
06-19 08:45:57.179 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.189 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 7ms, total 7ms 
06-19 08:45:57.189 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720040-byte allocation 
06-19 08:45:57.189 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.199 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 2ms, total 2ms 
06-19 08:45:57.199 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.199 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720042-byte allocation 
06-19 08:45:57.199 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.209 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.219 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 5ms, total 5ms 
06-19 08:45:57.219 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720046-byte allocation 
06-19 08:45:57.229 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 4ms, total 4ms 
06-19 08:45:57.229 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 2ms, total 2ms 
06-19 08:45:57.239 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 5ms, total 5ms 
06-19 08:45:57.239 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720048-byte allocation 
06-19 08:45:57.239 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 4ms, total 4ms 
06-19 08:45:57.249 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 4ms, total 4ms 
06-19 08:45:57.249 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 5ms, total 5ms 
06-19 08:45:57.249 6269-6283/com.hemkar.jsondemo I/dalvikvm-heap: Grow heap (frag case) to 5.091MB for 720052-byte allocation 
06-19 08:45:57.259 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 468K, 24% free 4672K/6144K, paused 5ms, total 5ms 
06-19 08:45:57.259 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed 1172K, 36% free 3969K/6144K, paused 3ms, total 3ms 
06-19 08:45:57.269 6269-6283/com.hemkar.jsondemo D/dalvikvm: GC_FOR_ALLOC freed <1K, 28% free 4438K/6144K, paused 8ms, total 8ms 
06-19 0 
+0

Haben Sie es mit einem echten Gerät oder nur mit dem virtuellen versucht? –

+0

Ich habe es mit Emulator versucht, meinst du, es funktioniert vielleicht in einem echten Gerät? – hemkar

Antwort

2

Ich denke, weil in Ihrem Code while (data = 1!), richtig while (Daten sein sollte! = -1). Die Schleife ist unendlich

+0

Ich stimme zu, wenn das Ende des Streams erreicht ist, read() gibt -1 zurück. –

+0

@MsBao meine schlechte. Sie haben Recht. – hemkar