2

アプリを数回実行したAsyncTask後、プログラムが停止しているように見えます。onPreExecute()つまり、アプリを使用でき、すべてが約10〜20回実行されますが、その後停止します。何が起こっているのか:

private class MyTask extends AsyncTask<String, Void, Data> {

    protected void onPreExecute() {
        // show loading dialog
        Log.d(TAG, "end onPreExecute");
    }

    protected Data doInBackground(String... params) {
        Log.d(TAG, "start doInBackground");
        // do stuff
    }

    protected void onPostExecute(Data myData) {
        // do stuff
    }

}

それが機能しなくなると、ロードダイアログは永久にロードを続け、"end onPreExecute"印刷しますが、"start doInBackground"しません。

なぜそうなのか?

4

1 に答える 1

1

問題がどこにあるのか見分けるのは難しいです。非同期タスクは最初の数回は機能しているように見えるので、このAPI機能が意図に対して「不安定」すぎる可能性があります...

問題の解決策は、AsyncTaskを別のスレッドソリューションに置き換えることです。

お役に立てば幸いです。

于 2012-10-12T23:15:20.297 に答える