草庐IT

AsyncTasks

全部标签

android - 在嵌套 fragment 中运行多个 AsyncTasks 时挂起线程,这会使应用变慢

在这里,我使用AsyncTask在具有TabLayout和ViewPager的嵌套fragment中调用Web服务。我已经通过在每个Fragment的onResume方法中调用它们来尝试AsyncTasks作为:newFetchAllData(getActivity()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);和newFetchAllData(getActivity()).execute();一切都很好,但我遇到了很多问题:应用程序在没有任何对话框的情况下停止工作,但它在logcat中显示suspendingallthrea

android - 你能在一个 Activity 中有两个 AsyncTasks 吗?

我已经开发了一个Activity,它将解析JSON数据并将结果显示在ListView中。为此,我正在使用AsyncTask。我现在想要的是,当我单击ListView中的项目时,文件应该开始下载。我可以在同一Activity中编写另一个AsyncTask以便此AsyncTask为我完成下载工作吗?在同一个Activity中有多个AsyncTasks有什么问题吗? 最佳答案 根据Doc是的,你可以。Whenfirstintroduced,AsyncTaskswereexecutedseriallyonasinglebackgroundt

java - Android 两个AsyncTasks 串行执行还是并行执行? - 第二个是卡住,但结果还可以

我在我的Android应用程序中运行两个AsyncTask任务,它们来自同一个类但具有不同的参数。例如:newmyAsynckTask(a,b,c).execute();newmyAssyncTask(a,d,e).execute();它们是并行执行还是串行执行?我问这个是因为当第一个开始时,显示执行进度,当完成时我看到第二个需要更多时间才能完成但我看不到进度(我能够看到矩形但进度条未显示20%..等等)。就像卡住一样,但结果还可以。我想做的是按顺序运行它们,并能够看到它们两个的进度。我在AndroidJellyBean4.2.2API级别17上运行该应用

android - 如何从 AsyncTasks doInBackground() 中检索数据?

我会尽量保持这个简单。我的控制层中有一个方法,它使用扩展AsyncTask的类CallServiceTask。当调用newCallServiceTask().execute(parameters)如何检索doInBackground返回的数据?我发现的所有教程都使用直接从他们的Activity扩展AsyncTask的类。我的问题比这要复杂一点。我想要的只是获取doInBackground返回的Object[]并将其设置为我的RestClient类的私有(private)数据成员。CallServiceTask看起来像这样:privateclassCallServiceTaskexten

android - ASyncTasks 阻止其他人

我有2个ASyncTask,一个从httpPost检索值,另一个更新UI的一些元素(包括ListView)。问题在于,由于两个ASyncTask共享相同的后台线程,如果网络操作首先启动并且运行缓慢(由于网络连接不良)。其他后台线程耗时太长,导致应用不负责任。由于两个ASyncTask都是独立的,因此让另一个等待另一个是非常愚蠢的。不同的类使用不同的线程会更符合逻辑,我错了吗?阅读ASyncTask博士。谈到使用executeOnExecutor(),但是在API级别低于11的情况下如何解决?这里有一个重现“问题”的小例子newTask1().execute();newTask2().e