草庐IT

ASYNCTASK

全部标签

android - RxJava2 类似于 Android 中的 AsyncTask

您好,我刚刚开始使用RxJava2学习响应式编程。如何创建一个在后台线程中运行的任务,然后使用RxJava2在主线程中完成。在Android中我们使用AsyncTask的例子就像下面的例子privateclassMyTaskextendsAsyncTask{@OverrideprotectedBooleandoInBackground(String...paths){for(intindex=0;index对于这个例子,我想传入一个Array/ArrayList的字符串,它用于在后台线程中执行一些方法。然后每个成功结果都会更新我的TextView(UI线程)。如果其中一个过程失败,我希

android - 使用 httpclient 和 asynctask 取消文件下载

在我的应用程序中,我需要从url位置下载文件。我想在对话框中(或可选地在通知区域中)显示下载进度。我在这个主题上遇到了一些很好的资源(比如http://progrnotes.blogspot.com/2010/09/c-android.html)。遗憾的是,所有示例都没有明确说明如何根据用户请求正确取消下载。所以我的问题其实很简单:给定一个异步任务,它在后台下载文件(使用httpclient)并显示一个包含下载进度的对话框和一个取消按钮,我如何才能取消下载并在按下按钮时停止后台任务?我知道终止线程通常不是一个好主意,因此我可能需要在我的后台线程中使用“取消”变量。如何将停止信号从按钮传

android - onPause 之后 AsyncTasks 会发生什么?

我有一个AsyncTask在我进入下一个Activity之前执行。在这个AsyncTask中,我有一个MediaPlayer。protectedvoidonPause(){stopProgress();Log.i(TAG,"onPAUSE");try{}finally{//Ifweallocatedaplayer,thencleanupafteritif(player!=null){player.reset();player.release();player=null;Log.d(TAG,"endofplayercleanup");}}super.onPause();}使用场景:点击A

android - 为什么 onPostExecute 在 AsyncTask 中的 doInBackground 完成之前执行

我试图创建一个AsyncTask以从服务器端获取一些数据。但它在行“IOUtils.copy((response_.getEntity().getContent()),writer);”中的onPostExecute()中报告了空指针异常。我使用一些日志来查看发生了什么,发现打印了日志1和3,但没有打印日志2。为什么onPostExecute在client.executed()完成之前执行?谁能给些建议?privateclassGetFormextendsAsyncTask{privateHttpResponseresponse_;privateExceptionexception_;

java - Java的SwingWorker和Android的AsyncTask的区别

我正在比较Swing的SwingWorker和Android的AsyncTask类之间的区别。虽然Android有一个主线程/UI线程,然后生成一个后台线程(使用AsyncTask),但SwingWorker有三个涉及的线程-当前线程工作线程事件派发线程。然后我也看到了声明(在文档中)-Often,theCurrentthreadistheEventDispatchThread.现在,这是什么意思?这是否意味着Swing也只有1个线程-主线程和甚至在同一线程上接收事件OR不同的JVM实现是否不同? 最佳答案 这只对Swing有效,S

android - AsyncTask 文件下载时 ListView 中的进度条

我有一个奇怪的问题,每当我在网络浏览器上找到一个MP3文件时,我都会启动一个新的异步任务,并在每个异步任务的ListView中启动一个进度条。所以下载的数量可以超过1并且是同时的。但是现在,每当启动Asynctask时,ProgressBar对所有AsyncTask的移动都相同,并且对于不同的AsyncTask没有不同,请指导我......publicclassCopyOfDownloadsListActivityextendsListActivity{/**Calledwhentheactivityisfirstcreated.*///staticArrayListpthreads=

java - 执行后台任务——替代 AsyncTask?

我想在应用程序中有各种异步线程,例如大约5-10个线程用于可以长时间运行(如流式传输)的后台任务,我也是更新用户界面以在必要时发布一些结果。据我所知,AsyncTask存在以下问题:长时间运行的任务,与Activity生命周期联系不紧密,设备方向问题,以及内存泄漏等。因此,我正在寻找不存在上述问题的替代方案(可能不使用任何第三方库)。我应该使用简单Java线程更好吗?我不介意使用它们,因为它们不会给AsynTask带来任何问题。 最佳答案 在大多数情况下,AsyncTask应该足以满足要求。但是,有些情况下无法使用AsyncTask

android - AsyncTask 中 onPreExecute 和 doInBackground 之间的巨大延迟

我有一个AsynkTask:newAsyncTask(){privateProgressDialogmProgressDialog;@OverrideprotectedvoidonPreExecute(){Log.i(TAG,"Preexecute:"+System.currentTimeMillis());super.onPreExecute();mProgressDialog=ProgressDialog.show(NewWeatherActivity.this,null,getResources().getString(R.string.weather_is_updating))

android - 性能比较 : AsyncTasks vs Threads

在我的应用中,我必须调用一个方法来完成一些繁重的工作(我能感觉到设备滞后)。为了避免这种情况,我创建了一个AsyncTask,它工作得很好。我使用Thread实现了同样的事情,在这里,它也没有出现任何问题并且工作正常。现在我的问题是哪个性能更好-AsyncTask或Thread。我知道AsyncTask使用线程池来执行后台任务,但在我的例子中它只会被调用一次。所以我认为这不会造成任何问题。有人可以解释一下吗?我应该使用哪一个以获得更好的性能?注意:两者都在我的Activity中被调用,例如从UI线程。 最佳答案 Cansomeone

android - 在后台上传文件是使用 AsyncTask 还是 Service 更好?

我有一个要求,即用户能够将视频上传到AmazonS3。我已经使用amazonsdk中的java高级api实现了这一点。在上传过程中,如果用户单击主页按钮,上传必须在后台继续。什么是更好的方法:?*1使用AsyncTask:我试过使用AsyncTask,它工作正常。但是如果上传过程在后台持续很长时间,操作系统会杀死应用程序以释放内存。有什么办法可以处理这种情况,让我的应用完成上传过程。*2使用服务:有人建议我使用服务+用户界面通知。我喜欢使用AsyncTask,因为它对我来说效果很好。与AsyncTask相比,使用Service有什么优势吗? 最佳答案