什么是从Android网络下载图像数据的最佳选择

时间:2016-05-06 05:59:07

标签: android service android-asynctask intentservice

我在间隔的某个时间从服务器下载(pref-etch)图像

所以我想知道下载图片的最佳方式是什么

asyntask

服务

intentservice

请帮助

1 个答案:

答案 0 :(得分:1)

案例1:如果您必须从互联网上下载极少数图像(如活动中的一个或两个),请使用Asynctask。

案例2:如果您必须专门为ListView项目下载许多图像,则必须使用Android中的HandlerThread,Handler,message和Looper在专用后台线程中实现它。避免在这里使用服务。此外,您必须实现图像缓存,因为您不希望在会话中多次下载相同的图像。

建议:如果第二种情况是您的情况,请不要自己实施上述内容。节省您的时间,并使用数百万Android应用程序使用的一些强大,高效和快速的库。

您可以使用:

  • 毕加索广场
  • Glide
  • 排球

编辑:如何使用Picasso下载图像。

上面提到的所有图书馆都可以做得很漂亮。我和毕加索分享了这个解决方案。

    Picasso.with(mContext).load("url").into(new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom loadedFrom) {
         //save the  bitmap into permanent storage or do whatever you want like showing in some ImageView etc.

        }

        @Override
        public void onBitmapFailed(Drawable drawable) {

        }

        @Override
        public void onPrepareLoad(Drawable drawable) {

        }
    });

希望这会有所帮助。如果仍有任何问题,请随时发表评论。