问题标签 [android-glide]
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.
android - 让 Glide 填充的网格更有条理
我在这里问了这个问题,我试图用 Glide 将宽幅和长幅图像加载到 aGridView
中,并希望像 Picasso 那样更均匀地加载这些不同大小的图像,同时尽可能保持纵横比。我得到的答案是 s 的一个长期存在的问题,GridView
并尝试了 Jake Wharton 的纵横比图像视图,我尝试过但没有成功。另一个建议是做一个交错的RecyclerView
,很好的答案,但有很多变化
所有这一切的原因是我的图像太大,毕加索无法快速加载,用户抱怨它真的很慢,但是 Glide(看起来更快)将图像加载到那里的纵横比并弄乱了我的网格的均匀性,您可以在链接中看到:长图像占用与 2 个宽图像相同的空间。无论如何,经过大量的试验和错误,我现在使用 Glide 是这样的:
我是 Android 新手,但这似乎工作得很好。我现在的问题是除了getWidth
被弃用之外,(该应用程序适用于 API 16+)这有什么问题吗(将屏幕宽度分割并将其传递给 Glide 的调整大小调用)?我认为它必须等待测量视图,但它仍然比毕加索更快。谁能提供更好的东西?
android-recyclerview - Glide-暂停图像加载 onscroll recyclerview
我有一个从服务器加载图像的 RecyclerView。当我滚动时,滚动非常生涩。我正在使用 glide 加载图像我觉得每次滚动回收器视图时都会加载图像。那么任何人都可以请告诉如何停止加载图像onscroll ...
谢谢..
android - 内存或磁盘中的 Android Glide 备用缓存
我正在一个应用程序中工作,该应用程序确实有经常使用的图像,但是还有其他下载只使用一次。
Glide 有什么方法可以即时决定哪些图像应该只存储在磁盘中还是只存储在内存中?
据我所见,缓存取决于购买的配置,我希望能够自己说哪些应该在磁盘中,哪些不应该。
android - Glide:加载可绘制但不缩放占位符
有没有办法使用 Glide 分配一个占位符但保持这个图像的原始比例?我有一个ImageView
可变大小(取决于传入的图像),我在调用之前设置Glide.with().load().into()
了它,我想为它使用一个占位符,但不希望将占位符调整为 的大小ImageView
,我希望它保持其原始尺寸。
到目前为止,我找不到这样做的方法。
android - Glide 在旋转(方向改变)时第一次不从内存中加载图像,然后从内存中加载
Glide 在旋转(方向改变)时第一次不从内存加载图像,之后从内存加载。
我试图增加内存大小、位图池大小、各种缓存策略......似乎没有任何效果......
我附上了一个视频。
谢谢!
java - 如何创建一个从 Glide 请求图像发送图像的服务器?
我正在Glide
用作客户端的图像加载器。我用java创建了我自己的服务器。
我的服务器代码:
我从浏览器进行了测试,它工作正常,但是当我Glide
从 android 调用使用时,没有显示图像
android - (Glide) 从缓存中获取图像(如果存在)
在我的应用程序中使用 Glide 时遇到问题。据我了解,如果图像被下载一次并且我从其他活动的缓存中请求图像,则 Glide 必须快速显示图像。我得到了这种行为,但不是在我的应用程序中。图片加载速度非常慢(大约 3 秒),尽管在另一个应用程序中大约是 0.4 秒。我调用 Glide 的代码:
并且在其他活动代码中是相同的。你能帮帮我吗?谢谢
android - 通过 Uri 滑动加载本地图像。
我正在尝试使用 Glide 从本地存储中加载图像但没有成功。
这是我得到的错误:
android - Glide:如何查找图像是否已经缓存并使用缓存版本?
场景:
我有一个大的 GIF 图像,我想在用户第一次使用Glide - 图像加载和缓存库打开应用程序时对其进行缓存。之后,每当用户打开应用程序时,我想显示缓存版本(如果存在)。此 GIF URL 将在给定时间间隔后过期。当它过期时,我会获取新的 GIF URL 并显示/缓存以供将来使用。
我尝试了什么:
我在 Glide 的 github 页面上浏览了缓存和缓存失效。我还浏览了 Google Group 线程Ensuring That Images Loaded Only Come From Disk Cache,它展示了如何获取图像表单缓存。我还讨论了如何使 Glide 缓存失效一些特定的图像问题。
从上面的链接中,我看到了以下代码片段,它显示了如何从缓存中加载图像。然而,这只试图从缓存中获取图像。如果它不存在于缓存中,它不会尝试从网络获取并失败:
问题:
有没有更简洁的方法来实现以下目标:如果存在,则从缓存中显示 GIF 图像,否则下载 GIF,将其缓存以供以后使用并将其显示在
ImageView
.上面的缓存文章提到了以下内容:
实际上,使缓存文件无效的最佳方法是在内容更改时更改您的标识符(url、uri、文件路径等)
当前一个 URL 过期时,服务器会向应用程序发送一个不同的 URL。在这种情况下,我相信旧图像最终会被垃圾收集?有没有办法强制从缓存中删除图像?
类似地,有没有办法阻止具有特定密钥的图像的垃圾收集(以防止再次下载大文件),然后在 URL 更改时指示从缓存中删除旧图像?
android - Android - 方向更改后 GridView 图像无法正确显示
在我的 Android 应用程序中,我在 GridView 中显示照片。在将这些照片加载到 GridView 之前,我对这些照片进行了一些繁重的处理,因此我决定通过覆盖 onConfigurationChanged() 方法自己处理配置更改,该方法仅更改 GridView 的列数,然后将适配器重新分配给它。当我将设备从横向切换到纵向时,一切正常,并且图像占据了整个列空间,正如预期的那样。但是当我将设备从纵向切换到横向时,GridView 中图像的宽度比它需要的要小很多。我正在使用 Glide 库将照片加载到 GridView 中。
我该怎么做才能解决这个问题?
我的代码如下: