Usm*_*man 3 android out-of-memory android-recyclerview android-glide
我正在使用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张图片,现在它的工作非常流畅.
感谢您撰写回复.它们也很有用!
| 归档时间: | 
 | 
| 查看次数: | 5808 次 | 
| 最近记录: |