在AsyncTask中没有调用onPreExecute和onPostExecute

时间:2014-04-18 13:51:02

标签: android android-asynctask

我已经构建了一个工作正常的应用程序并且已在多个设备(大约20个不同的设备)上进行了测试,但现在Android 4.4.2用户(1个nexus平板电脑和3个HTC One手机)报告问题。

我已经跟踪了问题,发现这些设备上没有调用onPreExecuteonPostExecute

我的代码看起来(简化)如下:

public class MyTask extends AsyncTask<Void, Void, Boolean> {

    /** [...] **/


    @Override
    protected void onPreExecute() {
        Log.d(TAG, "onPreExecute executed");
    /** [...] **/
    };

    @Override
    protected Boolean doInBackground(Void... arg0) {
        Log.d(TAG, "Task running in background");
        return client.loadUrl();
    }

    @Override
    protected void onPostExecute(Boolean isOpen) {
        Log.d(TAG, "onPostExecute executed");
    /** [...] **/
    }
}

我正在运行调用execute()方法的任务。

就像我说的:我可以在日志中看到&#39;任务正在后台运行,但仅在4.4.2设备上我注意到onPre-和onPostExecute的日志行不见了。

有人知道此行为是否已更改?我在文档中找不到任何相关内容。

或更好:有人知道如何解决这个问题吗?

0 个答案:

没有答案