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

很难说问题出在哪里。由于您的 Async 任务似乎在前几次工作,这可能是这个 API 功能对于您的意图来说太“不稳定”了......

您的问题的解决方案可能很简单,将 AsyncTask 替换为不同的 Thread 解决方案:

希望有帮助!

于 2012-10-12T23:15:20.297 回答