我有一个关于 AsyncTask
类的概念性问题。我们使用 AsyncTask
以便主 UI 不被阻塞。
但是假设,我想从设备存储器中检索一些数据,并且我使用 AsyncTask 类来完成此操作。相关的代码行将如下所示(假设返回的数据类型为 String):
//code
String data = new ExtendedAsyncTask().execute(param1, param2).get();
//use this returned value.
那么上述代码行不会阻塞用户界面(UI)吗?这不是违背使用 AsyncTask
的初衷吗?如果是,那么我该如何在不阻塞UI的情况下获取相关数据呢?需要注意的是,下一行代码将需要这些数据来执行某些任务,并因此依赖于返回值。
谢谢