Articles of 通用图像加载器

装载有univerisal图像加载器的图像上的黑色背景

如下所示。 第一张图片是http://goldentrail.towardstech.com/assets/images/membersimage/buttons/eat.png链接的默认图片。 而下面的第二个图像是使用uil加载的图像 这是图像加载器configuration File cacheDir = StorageUtils.getCacheDirectory(context); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context) .memoryCacheExtraOptions(480, 800) // default = device screen dimensions .discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75) .taskExecutor(AsyncTask.THREAD_POOL_EXECUTOR) .taskExecutorForCachedImages(AsyncTask.THREAD_POOL_EXECUTOR) .threadPoolSize(3) // default .threadPriority(Thread.NORM_PRIORITY – 1) // default .tasksProcessingOrder(QueueProcessingType.FIFO) // default .denyCacheImageMultipleSizesInMemory() .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) .memoryCacheSize(2 * 1024 * 1024) .discCache(new UnlimitedDiscCache(cacheDir)) // default .discCacheSize(50 […]

带有通用图像加载器的FileNotFoundException

这个问题是关于这个stream行的Android库, 用于Android的Universal Image Loader : https : //github.com/nostra13/Android-Universal-Image-Loader 我确保WRITE_EXTERNAL_STORAGE被添加。 我启用了内存和磁盘caching 我使用UnlimitedDiscCache进行磁盘caching 我正在构buildAndroid 2.2 SDK。 当我在Android 4.1.2 Nexus S设备上testing应用程序时发现有exception。 对于我的大多数图像,加载是顺利和罚款。 但是,对于某些图像,我总是得到相同的exception。 下面是一个例子。 图片url: http : //i10.topit.me/l046/10046137034b1c0db0.jpg 后面跟踪: 01-14 00:24:42.125: ERROR/ImageLoader(1671): http://img.androidcookie.com/java/10046137034b1c0db0.jpg java.io.FileNotFoundException: http://img.androidcookie.com/java/10046137034b1c0db0.jpg at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177) at com.nostra13.universalimageloader.core.download.URLConnectionImageDownloader.getStreamFromNetwork(URLConnectionImageDownloader.java:40) at com.nostra13.universalimageloader.core.download.ImageDownloader.getStream(ImageDownloader.java:27) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.saveImageOnDisc(LoadAndDisplayImageTask.java:296) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:204) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:128) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) 请帮忙。

如何在使用Android Universal Image Loader在视图中显示图片之前调整图片大小?

我成功地将通用图像加载程序库(1.8.3版本)应用于我的应用程序,我试图在显示图像之前调整图像大小(因为有时图像太大而无法在内存中caching)。 这是我正在尝试的: … BitmapFactory.Options resizeOptions = new BitmapFactory.Options(); resizeOptions.inSampleSize = 3; // decrease size 3 times resizeOptions.inScaled = true; options = new DisplayImageOptions.Builder() .showStubImage(R.drawable.blank) .showImageForEmptyUri(R.drawable.no_image) .cacheInMemory() .cacheOnDisc() .decodingOptions(resizeOptions) .build(); … 由于某些原因,此代码不会使图像缩小3倍。 有人有一个更好的方式来调整图像的大小确切的密度?

通用图像加载器 – 手动清除caching

我使用通用图像加载器在列表视图中显示我的应用程序中的图像。 我正在使用UnlimitedDiscCache因为根据文档,这是最快的caching机制。 但是,我想清除我的应用程序closures时的光盘caching(例如在onStop() ),但只有最老的caching文件超过给定的限制应该被删除(像TotalSizeLimitedDiscCache一样)。 我知道ImageLoader.clearDiscCache()但在我的情况下,这将清除完整的caching,因为我以前使用UnlimitedDiscCache … 所以我希望在用户加载和滚动列表视图时拥有最快速的caching机制,并在用户不再与应用程序交互时清除caching。 任何想法我可以如何实现这一目标?

结合CoverFlow和通用图像加载器

我正在使用fancyCoverFlow和universalImageLoader来显示我的自定义3D图库:D像下面的图片。 我的问题是,下载时没有显示图像,除非我在画廊图片之间滑动,并且该图片在屏幕上隐藏,下次显示图片时出现。但是在UniversalImageLoader的示例中,下载的图片显示在下载之后。 这是我的适配器的getView代码: public View getView(int position, View view, ViewGroup parent) { RoundedImageView photo = (RoundedImageView) view; if (photo == null) { photo = (RoundedImageView) inflater.inflate(R.layout.row_gallery_latest_issue_item, parent, false); } try { System.out.println("Test is good"); ImageLoaderHelper.configureCacheableImage(mContext, photo, latestBook.get(position).getImageUrl(), R.drawable.avatar_issue, null); } catch (NullPointerException e) { photo.setImageResource(R.drawable.avatar_issue); e.printStackTrace(); } return createReflectedImages(photo); } 它与UniversalImageLoader完全相同示例希望我有一个TryCatche和CreateReflectedImage(这使我们的ImageViewreflection) 还有一件事我的ImageLoaderHelper是: public class ImageLoaderHelper […]

通用图像加载器gridview在notifyDataSetChanged调用后闪烁

我用这个configuration使用UIL从FILE加载图像: BitmapDisplayer displayer = new FadeInBitmapDisplayer(500) { @Override public Bitmap display(Bitmap bitmap, ImageView imageView, LoadedFrom loadedFrom) { if (loadedFrom != LoadedFrom.MEMORY_CACHE) { return super.display(bitmap, imageView, loadedFrom); } else { imageView.setImageBitmap(bitmap); return bitmap; } } }; DisplayImageOptions options = new DisplayImageOptions.Builder() .cacheInMemory(true).resetViewBeforeLoading(true) .showImageForEmptyUri(R.drawable.thumbnail_no_image) .showImageOnFail(R.drawable.thumbnail_no_image) .displayer(displayer).build(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder( context).defaultDisplayImageOptions(options) .memoryCacheSize(2 * 1024 * 1024).build(); […]

具有相同url的Android通用图片加载器请求正被取消

我正在尝试使用UIL将图像加载到位图。 我需要加载多个图像,我注意到在某些情况下,图像URL可以是相同的。 在这种情况下,只有第一个图像被加载。 如何避免UIL中的请求取消? 代码在循环中运行3次: ImageSize targetSize = new ImageSize(70, 70); ImageLoader.getInstance().loadImage("http://img.androidcookie.com/android/Mario-icon.png", targetSize, new ImageLoadingListener() { @Override public void onLoadingStarted(String imageUri, View view) { Log.e("tag", "onLoadingStarted"); } @Override public void onLoadingFailed(String imageUri, View view, FailReason failReason) { Log.e("tag", "onLoadingFailed"); } @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { Log.e("tag", "onLoadingComplete"); } @Override public […]

使用Universal Image Loader在Android网格视图中滚动时重复图像

我正在尝试使用以下代码在GridView上使用通用图像加载器从Internet加载图像。 public View getView(int position, View converView, ViewGroup parent) { Log.v("Description", "Description is " + position); ViewHolder mVHolder; if (converView == null) { LayoutInflater vi = (LayoutInflater) conted.getSystemService(Context.LAYOUT_INFLATER_SERVICE); converView = vi.inflate(R.layout.customgrid, null); mVHolder = new ViewHolder(); mVHolder.mImageView = (ImageView) converView .findViewById(R.id.imgview); mVHolder.mTextView1 = (TextView) converView .findViewById(R.id.textView1); mVHolder.mTextView2 = (TextView) converView .findViewById(R.id.textView2); mVHolder.mTextView3 = (TextView) converView […]

我怎样才能用通用图像加载器下载图像

据我所知,通用图像加载器提供了两种显示图像的方法。 imageLoader.loadImage和imageLoader.displayImage。 但是这两个方法必须绑定到UI元素才能显示。 我可以在线程中下载caching文件(以备将来显示)。 我现在不需要显示这些图片。

Android-Universal-Image-Loader不会在gridview中滚动加载的图像

我正在使用Android-Universal-Image-Loader库将远程图片加载到我的GridView单元格中的ImageView中。 这里的imageLoaderconfiguration: new ImageLoaderConfiguration.Builder(Config.context) .threadPriority(Thread.NORM_PRIORITY – 2) .memoryCacheSize(20 * 1024 * 1024) // 20 Mb .memoryCache(new LruMemoryCache(20 * 1024 * 1024)) .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) .tasksProcessingOrder(QueueProcessingType.LIFO) .enableLogging() // Not necessary in common .build(); 和显示选项: new DisplayImageOptions.Builder() .showStubImage(R.drawable.blank) .showImageForEmptyUri(R.drawable.no_image) .build(); 问题:一旦gridview的活动开始所有工作正常,图像出现在单元格,然后我滚动网格(我有大约20个网格项目)和其他图像正确加载。 但是,一旦我滚动顶部已经加载的图像开始再次加载。 上下滚动几格之后,网格保存所有的图像,而且不会再消失。 有人遇到类似的问题,或者你知道我做错了什么。 感谢帮助。 ADDED :这里是我的适配器中的getView方法: @Override public View getView(final int position, View convertView, ViewGroup parent) { View […]