使用android ReclerView滑行显示OutOfMemory Error(OOM)

使用android ReclerView滑行显示OutOfMemory Error(OOM),第1张

概述我正在使用Glide和RecyclerView来加载许多具有不同尺寸和尺寸的图像(大约200个).我有三个问题:>图像有时加载成功,有时应用程序崩溃给OOM.>如果图像加载成功,则滚动是滞后的.>如果我刷新布局并重新加载相同的图像,那么它会尝试加载图像但在完成之前失败并给出OOM.以下是相关代码

我正在使用GlIDe和RecyclerVIEw来加载许多具有不同尺寸和尺寸的图像(大约200个).

我有三个问题:

>图像有时加载成功,有时应用程序崩溃给OOM.
>如果图像加载成功,则滚动是滞后的.
>如果我刷新布局并重新加载相同的图像,那么它会尝试加载图像但在完成之前失败并给出OOM.

以下是相关代码:

public static class MyVIEwHolder extends RecyclerVIEw.VIEwHolder {    @OverrIDe    public voID onBindVIEwHolder(final MyVIEwHolder holder, final int Listposition) {            ImageVIEw imageVIEw = holder.imageVIEw;            GlIDe.with(imageVIEw.getContext())                    .load(tweetMapArray.get(Listposition).get("imageURL").toString())                    .diskCacheStrategy(diskCacheStrategy.ALL)                    .crossFade()                    .into(imageVIEw);    // imageURL is a valID URL for each item    }    @OverrIDe    public voID onVIEwDetachedFromWindow(MyVIEwHolder holder) {        super.onVIEwDetachedFromWindow(holder);        GlIDe.clear(holder.imageVIEw);    }}

请指导我做错了什么.我之前没有使用过如此多的图像.

解决方法:

我找到了原因.问题是我使用的是放在RecyclerVIEw上面的nestedScrollVIEw.这可能导致所有图像立即加载.
我删除了nestedScrollVIEw并请求了大约200张图片,现在它的工作非常流畅.

参考:Out Of Memory Error When loading more images in Glide

感谢您撰写回复.它们也很有用!

总结

以上是内存溢出为你收集整理的使用android ReclerView滑行显示OutOfMemory Error(OOM)全部内容,希望文章能够帮你解决使用android ReclerView滑行显示OutOfMemory Error(OOM)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1115187.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存