我正在开发,它使用多个图像的Android应用程序,我想在Web服务器上传输更大的图像(2-6 MB)时,需要下载它们。
我从来没有尝试过之前,所以我发现它使用的AsyncTask上按一下按钮下载图像的方法,这是最好的解决办法吗?
任何更好的选择或意见?
编辑:我想koush的离子
编辑2:我试过离子( https://github.com/koush/ion ),我喜欢这里非常好,非常容易使用。 建议
Answer 1:
Use Universal image loader for downloading images asynchronously.
[https://github.com/nostra13/Android-Universal-Image-Loader][1].
The Library itself has a sample code to download image.you may refer it..
[1]: https://github.com/nostra13/Android-Universal-Image-Loader
After downloading library add library with your project and insert the below code at necessary place
String final_url="www.google.com/.....";
ImageView image;
ImageLoader imageloader = ImageLoader.getInstance();
imageloader.init(ImageLoaderConfiguration.createDefault(context));
DisplayImageOptions options; = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.ic_empty)
.showImageOnFail(R.drawable.ic_error)
.resetViewBeforeLoading(true).cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY)
.bitmapConfig(Bitmap.Config.RGB_565).considerExifParams(true)
.cacheInMemory(true)
.displayer(new FadeInBitmapDisplayer(300)).build();
imageloader.displayImage(final_url, image);
Answer 2:
最佳实践: http://developer.android.com/training/displaying-bitmaps/index.html 。 有用的库:毕加索- http://square.github.io/picasso ; 滑翔 - github.com/bumptech/glide。
Answer 3:
我强烈建议使用滑翔或毕加索,这是最常用的库现在。 只是谷歌“滑翔的Android”或“毕加索为Android”和他们采取的线程,缓存,优化护理等我希望它能帮助!
Answer 4:
其实使用的最重要原因AsyncTask
是你想要的机制做出来阻止你的UI一个冗长的操作。 有了它,你也摆脱管理子线程与同步。 仅此而已。 如果您希望其他功能,如位图缓存,您将必须实现你自己的,或者使用一些第三方工具。
Answer 5:
使用延迟加载图像,这和使用图像caching.This是做到这一点的最好办法。
https://github.com/thest1/LazyList
http://androidexample.com/Download_Images_From_Web_And_Lazy_Load_In_ListView_-_Android_Example/index.php?view=article_discription&aid=112&aaid=134
http://sunil-android.blogspot.in/2013/09/lazy-loading-image-download-from.html
你可以找到更多的例子为lazyloading.Hope上面的链接也很有用。
文章来源: Best way to download images on Android