在Android中进行异步HTTP请求是否有公认的最佳实践?

在Android中进行异步HTTP请求是否有公认的最佳实践?,第1张

在Android中进行异步HTTP请求是否有公认的最佳实践?

Android 1.5
SDK引入了一个新类AsyncTask,该类旨在使在后台线程上运行的任务并使结果与UI线程的通信更加简单。Android开发者博客中给出的示例给出了有关如何使用它的基本思想:

public void onClick(View v) {   new DownloadImageTask().execute("http://example.com/image.png");}private class DownloadImageTask extends AsyncTask {   protected Bitmap doInBackground(String... urls) {      return loadImageFromNetwork(urls[0]);   }   protected void onPostExecute(Bitmap result) {      mImageView.setImageBitmap(result);   }}

doInBackgroundThread
在单独的线程(由线程池管理
ExecutorService
)上调用该方法,并将结果传递给
onPostExecute
在UI线程上运行的方法。你可以叫
cancel(booleanmayInterruptIfRunning)
上你的
AsyncTask
子类来取消正在运行的任务。

至于使用

java.net
org.apache.http
库进行网络访问,则取决于您。我发现在
java.net
尝试发出a
GET
和读取结果时,这些库使用起来很安静。这些
org.apache.http
库将使您几乎可以做任何您想做的事情
HTTP
,但是它们使用起来可能会有点困难,我发现对于简单的
GET
请求,它们的性能不佳(在Android上)。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5131397.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存