AsyncTask doInBackground()启动前的长时间延迟

时间:2017-07-27 02:56:13

标签: android android-activity android-asynctask motorola-emdk

我有一个Android应用,当我从Activity A切换回主Activity,然后切换到B,然后按下按钮,代码调用AsyncTask

立即调用

OnPreExecute(),但在调用doInBackground()之前大约需要一分钟。

我使用execute()来启动任务。使用executeOnExecutor()无效。

为什么会有延迟?

我已检查过,并且没有任何其他AsyncTasks正在运行。

我正在运行API 19 KitKat。没有选择,因为它必须使用EMDK在TC-70上运行。

关于从哪里开始寻找的任何想法?

public class BarcodeHandler
    implements EMDKListener, DataListener, StatusListener, ScannerConnectionListener {

    @Override
    public void onData(ScanDataCollection scanDataCollection) {
        String dataString = "test";

        new AsyncDataUpdate().execute(dataString);
    }

    ...
}


private class AsyncDataUpdate extends AsyncTask<String, Void, String>
{
    @Override
    protected void onPreExecute()
    {
        Log.d("delayTest", "DataUpdate PreExecute()");
    }

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

        Log.d("delayTest", "DataUpdate doInBackground");
        return params[0];
    }

    protected void onPostExecute(String result) {

        Log.d("delayTest", "DataUpdate onPostExecute");
        if (result != null) {
            if (dataListener != null)
                dataListener.barCodeListener(result);
        }
    }
}

0 个答案:

没有答案