Anwendung hängt sich auf und unterbricht alle threads, die während der Verwendung von AsyncTask

Ich versuche, mit der AsyncTask Klasse, um eine website mit dem content. Die logcat sagt mir W/art: Suspending all threads took: 15(or any other number)ms wiederholt. Meine Anwendung ist eingefroren, bis die log-Meldungen werden nach dem drucken. UI zeigt sich nach der Anmeldung erfolgt. Ich folgte ein tutorial und haben doppelt überprüft, dass mein code sollte die gleiche sein, wie das tutorial. Nach einer Weile, meldet es sich mit ein paar Zeilen code von der website, aber nichts mehr. Ich habe versucht, mit verschiedenen websites als auch. Hier ist mein AsyncTask:

public class MainActivity extends AppCompatActivity {

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

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

            String result = "";
            URL url;
            HttpURLConnection urlConnection = null;

            try {

                url = new URL(urls[0]);

                urlConnection = (HttpURLConnection) url.openConnection();

                InputStream in = urlConnection.getInputStream();

                InputStreamReader reader = new InputStreamReader(in);

                int data = reader.read();

                while (data != -1) {

                    char current = (char) data;

                    result += current;

                    data = reader.read();

                }

                return result;

            } catch (Exception e) {

                e.printStackTrace();

            }

            return null;
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        DownloadTask task = new DownloadTask();
        String result = null;

        try {

            result = task.execute("http://www.vg.no/").get();

            Log.i("URL content" , result);

        } catch (InterruptedException e) {

            e.printStackTrace();

        } catch (ExecutionException e) {

            e.printStackTrace();

        }

    }


}
InformationsquelleAutor Emil Øgård | 2015-10-13
Schreibe einen Kommentar