草庐IT

asynctasks

全部标签

android - AsyncTask 中的 ProgressDialog

我试图在从HTTP服务器加载RSS提要时显示自定义进度对话框,我进行了艰苦的搜索,但没有任何帮助我做到这一点,我唯一知道的是解决方案应该使用AsyncTask,但我对传递给此AsyncTask的参数感到困惑。这是我的Activity:publicclassSoireesextendsListActivity{privateListmessages;privateTextViewtvSorties;privateMyProgressDialogdialog;@OverridepublicvoidonCreate(Bundleicicle){super.onCreate(icicle);s

android - 即使 Activity 已销毁,AsyncTask 也不会停止

我有一个AsyncTask当Activity开始执行的对象创建并在后台执行操作(最多下载100张图像)。一切正常,但有一种我无法理解的特殊行为。例如:当安卓屏幕的方向改变时,Activity被摧毁并再次创造。所以我覆盖了onRetainNonConfigurationInstance()方法并将所有下载的数据保存在AsyncTask中执行.我这样做的目的是没有AsyncTask每次运行Activity在方向更改期间被破坏-创建,但正如我在我的日志中看到的那样,以前的AsyncTask仍在执行。(虽然数据保存正确)我什至试图取消AsyncTask在onDestroy()Activity的

安卓 fragment 。在屏幕旋转或配置更改期间保留 AsyncTask

我正在开发一款智能手机/平板电脑应用,仅使用一个APK,并根据屏幕大小按需加载资源,最佳设计选择似乎是通过ACL使用Fragments。这个应用程序一直运行良好,直到现在只是基于Activity。这是我如何处理Activity中的AsyncTasks和ProgressDialogs的模拟类,以便即使在屏幕旋转或在通信过程中发生配置更改时它们也能正常工作。我不会更改list以避免重新创建Activity,我不想这样做的原因有很多,但主要是因为官方文档说它不推荐并且我到目前为止没有它,所以请不要推荐那条路线。publicclassLoginextendsActivity{staticPro

Android AsyncTask 线程限制?

我正在开发一个应用程序,每次用户登录系统时我都需要更新一些信息,我还使用手机中的数据库。对于所有这些操作(更新、从数据库检索数据等),我使用异步任务。到目前为止,我不明白为什么我不应该使用它们,但最近我体验到,如果我执行一些操作,我的一些异步任务只会在预执行时停止并且不会跳转到doInBackground。这太奇怪了,不能这样,所以我开发了另一个简单的应用程序来检查有什么问题。奇怪的是,当异步任务总数达到5个时,我得到相同的行为,第6个在预执行时停止。android对Activity/App的asyncTasks有限制吗?还是只是一些错误,应该报告?有没有人遇到过同样的问题,也许找到了

android - 取消正在执行的 AsyncTask 的理想方法

我正在使用AsyncTask在后台线程中运行远程音频文件获取和音频文件播放操作。Cancellable进度条在提取操作运行时显示。我想在用户取消(决定反对)操作时取消/中止AsyncTask运行。处理这种情况的理想方法是什么? 最佳答案 刚刚发现AlertDialogs的booleancancel(...);我一直在使用的任何地方实际上什么也没做。太好了。所以……publicclassMyTaskextendsAsyncTask{privatevolatilebooleanrunning=true;privatefinalProgr

Android:如何将参数传递给 AsyncTask 的 onPreExecute()?

我使用AsyncTask来加载我作为内部类实现的操作。在onPreExecute()中,我显示了一个加载对话框,然后我将其再次隐藏在onPostExecute()中。但是对于一些加载操作,我事先知道它们会很快完成,所以我不想显示加载对话框。我想通过一个bool参数来表示这一点,我可以将它传递给onPreExecute()但显然出于某种原因onPreExecute()不接受任何参数。显而易见的解决方法可能是在我的AsyncTask或外部类中创建一个成员字段,我必须在每次加载操作之前设置它,但这似乎不是很优雅。有没有更好的方法来做到这一点? 最佳答案

android - 处理程序与 AsyncTask

我对何时选择AsyncTask而不是Handler感到困惑。假设我有一些我想每隔n秒运行一次的代码,它将更新UI。为什么我会选择一个而不是另一个? 最佳答案 IMO,AsyncTask旨在提供一种方便、易用的方式来实现Android应用程序的后台处理,而无需过多担心低级细节(线程、消息循环等)。它提供了回调方法,有助于安排任务并在需要时轻松更新UI。但是,重要的是要注意,在使用AsyncTask时,开发人员会受到其限制,这是由于类的作者做出的设计决定造成的。例如我最近发现可以使用AsyncTasks调度的作业数量是有限制的。Hand

android - 多次执行AsyncTask

在我的Activity中,我使用了一个从AsyncTask扩展的类和一个作为该AsyncTask实例的参数。当我调用mInstanceOfAT.execute("")一切都很好。但是当我按下再次调用AsyncTask的更新按钮时应用程序崩溃(以防网络作业不起作用)。原因然后出现一个异常,上面写着Cannotexecutetask:thetaskhasalreadybeenexecuted(ataskcanbeexecutedonlyonce)我尝试为Asyctask的实例调用cancel(true),但它也不起作用。到目前为止,唯一的解决方案是创建Asyntask的新实例。这是正确的方

android - AsyncTaskLoader 与 AsyncTask

由于Honeycomb和v4兼容库,可以使用AsyncTaskLoader。据我了解,AsyncTaskLoader可以通过屏幕翻转等配置更改存活下来。是否推荐使用AsyncTaskLoader而不是AsyncTask?LoaderManager也进图了吗?但是我还没有找到任何关于如何正确使用AsyncTaskLoader的好例子。文档也没有提供示例。谁能提供一些好的例子。 最佳答案 您可以查看兼容性库的源代码以获取更多信息。FragmentActivity的作用是:保留LoaderManager的列表通过使用onRetainNon

android asynctask向ui发送回调

这个问题在这里已经有了答案:HowtogettheresultofOnPostExecute()tomainactivitybecauseAsyncTaskisaseparateclass?(17个回答)关闭6年前。我有以下不在Activity内的asynctask类。在Activity中,我正在初始化异步任务,并且我希望异步任务将回调报告回我的Activity。可能吗?还是异步任务必须与Activity在同一个类文件中?protectedvoidonProgressUpdate(Integer...values){super.onProgressUpdate(values);call