我写了一个 AsyncTask,大部分时间在调用其构造函数和调用其 doInBackground 之间没有延迟(0 毫秒延迟)。 但是每当在后台进行联系人同步时,我经常会在 AsyncTasks 的构造函数和 doInBackground 之间遇到 1-3 秒的延迟。在我的情况下,这种延迟是 Not Acceptable 。 我知道 AsyncTask 是一个后台线程,这个问题可以通过使用 Thread 并将其优先级设置得更高来解决。但我想知道的是,我怎么知道是什么导致我的 AsyncTask 的 doInBackground 被调用? 我使用了 adb shell top -m 10,当这个问题发生时,进程使用似乎很正常。
感谢任何帮助。
谢谢
最佳答案
我也遇到这个问题好久了,现在解决了。使用下面的代码
new AsyncTaskName().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
代替代码
new AsyncTaskName().execute();
它会解决延迟运行 doInbackground 的问题。
关于android - AsyncTask 的 doInBackground 在调用 AsyncTask::execute 后开始执行太迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12404668/