问题标签 [universal-image-loader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10419 浏览

android - 使用通用图像加载器的内存不足错误和图像被刷新

我正在使用通用图像加载器在 ListView 中将图像显示为缩略图但是我遇到内存不足错误,当我滚动列表时,当列表不在滚动阶段但新视图具有第一个视图的图像但比图像设置为应有的正确图像。

这是 ImageView 和 TextView 的 Xml 布局

0 投票
1 回答
1739 浏览

android - Android ViewPager + ImageLoader

我用 ImageLoader 库创建了一个 ViewPager,我在这段代码中有错误,我不明白 Log 中他想要什么!在主布局中,adapterLayout 中只有 ViewPager,我有 FrameLayout 和 ImageView

日志

0 投票
2 回答
877 浏览

android - 控制 listView 何时删除不可见视图?

我发现 listView 回收它的视图太快了。

当我的 listView 滚动时,视图会从屏幕上掉下来立即被删除。

每个单元格(行)都有使用通用图像加载器加载的图像。
从屏幕上掉下来的视图在它们回到可见区域时必须重新加载图像。(它会在短时间内显示存根图像并加载正确的图像)。

我肯定需要保持视图回收行为,但我可以修改列表视图的行为,以便用户不会注意到不断重新加载图像吗?(也许我在缓存中保留了 2-3 倍的视图 # 比常规列表视图将)

0 投票
1 回答
411 浏览

java - 修改通用图像加载器

我正在使用这个项目universal-image-loader来在gridview中显示几个图像。但我想用一些 html 来修改这些图片(例如在每张图片的底部添加广告)。

我看到图像是通过在 ImageAdapter 的 getView 方法中调用 imageLoader.displayImage(..) 来显示的。

我不知道哪种方法更好:

  • 在 displayImage(...) 中添加一个步骤,以便使用我的图像和 html 创建一个 webview 并将这个 webview 转换为位图?

  • 修改 ImageAdapter 的 getView,它将创建 webview 并在 displayeImage() 中添加参数 webview?

  • ...

  • ...

我想我别无选择,我必须使用 webview。

此外,在 ImageLoader.java 的 displayImage() 方法中,我不明白图像的加载位置,我想这是在这一行的某个地方,但是当我查看这些方法时,我找不到/理解

(如何从 uri 和 ImageSize 构建的字符串中获得位图?图像在哪里?)

0 投票
1 回答
1195 浏览

android - 在通用图像加载器中为失败的下载添加图像

在我的 monodroid 应用程序中,我使用通用图像加载器在列表视图中显示图像。在显示图像之前,我会在图像上显示一个进度条。我想为下载失败添加默认图像。是否可以?这是我用它显示图像的代码:

这是一个 monodroid 代码。谢谢。

0 投票
1 回答
1491 浏览

java - 内存缓存中的图像大小高于使用通用图像加载器的实际大小

我的应用程序有带图像的 ListView。它使用 Universal Image Loader (1.7.0) 从 Internet 加载图像。

配置和显示选项

getView() 的一部分(我的应用重用 ConvertView 并使用 ViewHolder 模式):

list_row.xml

当然 ImageView 不是每一行中的单个视图。这是简短的版本:)。所以我从互联网上下载的图像尺寸是 450x337。我正在平板电脑上测试我的应用程序,屏幕尺寸为 1280x760。

当我启用日志记录时 - 我看到这样的消息:

等等......我对 url 结尾有点困惑 - “_1280x736”。正如手册的第二部分所说:

• maxImageWidthForMemoryCache() 和 maxImageHeightForMemoryCache() 用于将图像解码为位图对象。为了不在内存中存储全尺寸图像,将其缩小到由 ImageView 参数值确定的大小,其中加载图像:maxWidth 和 maxHeight(第一阶段),layout_width 和 layout_height(第二阶段)。如果未定义这些参数(值 fill_parent 和 wrap_content 被认为是不确定的),则采用设置 maxImageWidthForMemoryCache() 和 maxImageHeightForMemoryCache() 指定的尺寸。原图尺寸缩小2倍(推荐快速解码),直到宽度或高度小于指定值;o 默认值 - 设备屏幕的大小。

所以,据我所知,这个结尾是“减少”之后内存缓存中图像的大小:) 并且图像加载器使用了默认值(屏幕大小)。我并不惊讶图像加载器无法获得 ImageView 的大小(可能为时过早),但为什么原始图像被放大了?是否很难验证原始图像的大小并且不加修改地保留它们?当然,我可以在 displayImage 方法中添加图像大小,但我需要解释......

0 投票
3 回答
22587 浏览

android - 如何使用 Universal Image Loader Android 强制清除缓存?

我正在使用 UIL 在列表视图中加载图像。

当我长按列表视图中的图像时,我会显示一个对话框来修改该图片,并使用相机将其替换为新图片。

如果我拍一张新照片,当对话框被关闭时,我的列表视图仍会显示旧图像(因为它已被缓存)。如果我在转到列表视图时关闭并重新启动我的应用程序,那么新图像就在那里。

这就是我设置 UIL 的方式:

如果我删除.cacheInMemory()一切正常。我只是想知道仅在打开对话框时是否可以清除缓存。我试图myImageView.invalidate()在打开对话框时选择并调用 ImageView,但没有成功。

图像从文件加载:

有什么建议么?

编辑:长按图像时创建上下文菜单的代码,我试图清除那里的缓存:

选择菜单项(编辑或删除)时

编辑:显示图像列表的代码

0 投票
1 回答
91 浏览

java - PagerActivity 中图像视图中的图像大小

我正在使用这个项目universal-image-loader。我想知道如何获得pagerActivity中显示的图像大小?

我在 ImagePagerActivity.java 中添加了这两行(在 imageLoader.displayImage(...){} 之后)

但结果是 0 和 0。

我还尝试在 ImagePagerActivity.java 中使用它(我在 ImageLoader 中将 getImageSizeScaleTo 更改为 public):

但尺寸始终为 width:540 height:960 而我的图像尺寸不同。

0 投票
1 回答
523 浏览

android - 将 UniversalImageLoader 与 WebView 一起使用

我在我的应用程序中使用Android 通用图像加载器。它适用于ImageViews,但我WebView的应用程序中也有。因此,图像被下载两次。一次由 Universal Image Loader for ImageViews 和一次由 WebView。是否可以使用已经下载的图像WebView

0 投票
1 回答
3021 浏览

java - 使用 UniversalImageLoader 为列表视图预加载一些图像

我在我的 Android 项目中使用 Sergey Tarasevich 的库Universal Image Loader将图像加载到 ListView 中。目前,我正在适配器的 getView() 方法中加载我的图片,一切都按预期工作。

问题是我想提前加载一些图像(三个或四个),以便用户在滚动时不需要等待图像加载。使用 Universal Image Loader 实现这一目标的最佳方法是什么?