首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次视图被绑定到RecyclerView中时,我是否应该销毁位图并重新下载它们?

每次视图被绑定到RecyclerView中时,我是否应该销毁位图并重新下载它们?
EN

Stack Overflow用户
提问于 2016-12-27 21:05:37
回答 1查看 52关注 0票数 0

我有一个RecyclerView,它有一个自定义对象数组,每个对象包含一个空位图,还有一个用于位图源的String和一些其他属性。在我的onBindViewHolderRecyclerView方法中,我从源url下载图像,并将位图值设置为ArrayList中相应对象的属性,因此下次绑定视图时,不必再次下载图像。

我现在想知道的是,这是否被认为是好做法?从旧设备上开始,我意识到,过了一段时间后,我得到了一个OutOfMemoryException,那么做这种事情的正确方式是什么呢?谢谢

编辑

我想尝试这样的方法来限制加载的位图:

代码语言:javascript
复制
int offScreenLimitLeft = position-10;
int offScreenLimitRight = position+10;
if (offScreenLimitLeft>=0){
    itemsArrayList.get(offScreenLimitLeft).myObj.bitmap = null;
}
if (offScreenLimitRight<=itemsArrayList.size()-1){
    itemsArrayList.get(offScreenLimitRight).myObj.bitmap = null;

}
EN

回答 1

Stack Overflow用户

发布于 2016-12-27 21:15:09

我建议使用类似于截击的东西。有关下载和显示图像的示例,请参见这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41352226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档