kev*_*oid 57 multithreading android runnable android-asynctask android-threading
我有疑问让我感到困惑.
想象一下,我想在另一个线程中做一些事情,比如获取GPS /位置内容,这些内容按照SDK文档中的建议,必须使用后台线程.
所以这里有一个问题:两者之间有什么区别
Thread通过AND在后台创建AsyncTask
创建Thread thread1 = new Thread(new Runnable()......并实施run()?
NIN*_*OOP 45
AsyncTask是一个方便的类,用于在一个新线程上做一些工作,并在完成时使用它所调用的线程(通常是UI线程)上的结果.它只是一个包装器,它使用了几个runnables,但处理了创建线程和处理线程之间消息传递的所有复杂性.
AsyncTask可以正确,方便地使用UI线程.此类允许执行后台操作并在UI线程上发布结果,而无需操作线程和/或处理程序.
AsyncTask旨在成为Thread和Handler的辅助类,并不构成通用的线程框架.理想情况下,AsyncTasks应该用于短操作(最多几秒钟.)如果需要保持线程长时间运行,强烈建议您使用java.util.concurrent pacakge提供的各种API,例如Executor,ThreadPoolExecutor和FutureTask.
异步任务由在后台线程上运行的计算定义,其结果在UI线程上发布.异步任务由3种泛型类型定义,称为Params,Progress和Result,以及4个步骤,称为onPreExecute,doInBackground,onProgressUpdate和onPostExecute.
该Runnable接口接口是在Java线程的核心.Runnable接口应该由任何其实例要由线程执行的类实现.
如果我引用这篇博客:
如果你需要SIMPLE编码使用AsyncTask,如果你需要SPEED使用传统的java Thread.
| 归档时间: |
|
| 查看次数: |
29357 次 |
| 最近记录: |