我们是否应该使用URL直接在Android客户端上加载图像 要么 我们是通过服务器端APP /或webservice获取图像(传递图像名称附加到URL)。 哪种方式更好。
答案 0 :(得分:2)
为每个图像下载大图像然后下采样将是非常低效的。首先,下载大小比需要的大。其次,您需要将其加载到内存中以执行下采样,第三次下采样有点慢。
您可以使用web api返回缩略图网址列表和完整图片网址,您可以在屏幕上显示视图,并使用缓存让它们保持一段时间。确保你也缩小了缩略图的大小。然后,当用户点击图像时,我会下载完整的图像,然后在它到达时在背景上下载,然后再显示它。
您需要实现LazyLoading是从url异步下载图像的最佳方式。
查看tutorial
您需要阅读documentation before proceeding to working with images.
答案 1 :(得分:1)
您可以使用ImageLoader
从服务器直接网址加载图片首先从net获取universal-image-loader-1.8.6-with-sources.jar并在lib中设置构建路径。
//------ImageLoader from lib. ------for load images-----------------------
protected ImageLoader imageLoader = ImageLoader.getInstance();
DisplayImageOptions options;
//----------------------------------------------------------------
//启动imageLoader ---------------
imageLoader.init(ImageLoaderConfiguration.createDefault(CON));
// ---------------------
//初始化选项.........用于图像.....................
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_image)
.showImageForEmptyUri(R.drawable.image_for_empty_url)
.cacheInMemory()
.cacheOnDisc()
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
//------------------------------------------------------
//传递像--->的网址http://www.xyz.com/xyz/upload/image//2013/08/30/1377865578220.jpg // ---传递持有者,并显示图像(如果存在) // Constant.Image_URL + List.get(position).get(“photo”)< ---带图像名称的完整URL //holder.img是您不会设置图像的图像视图
imageLoader.displayImage(Constant.Image_URL+List.get(position).get("photo"), holder.img, options);
//使用这些代码从url
获取图像答案 2 :(得分:0)