我已经构建了一个工作正常的应用程序并且已在多个设备(大约20个不同的设备)上进行了测试,但现在Android 4.4.2用户(1个nexus平板电脑和3个HTC One手机)报告问题。
我已经跟踪了问题,发现这些设备上没有调用onPreExecute
和onPostExecute
。
我的代码看起来(简化)如下:
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的日志行不见了。
有人知道此行为是否已更改?我在文档中找不到任何相关内容。
或更好:有人知道如何解决这个问题吗?