ant*_*ony 2 android adapter android-recyclerview android-glide
我有一个Recyclerview管理新闻源.有很多图像.使用Android监视器,当我滚动此列表时,分配的内存总是增加!所以我添加了这两个覆盖方法(在我的适配器中):
@Override
public void onViewDetachedFromWindow(RecyclerView.ViewHolder holder) {
super.onViewDetachedFromWindow(holder);
clearAdapter(holder);
}
@Override
public void onViewRecycled(RecyclerView.ViewHolder holder) {
super.onViewRecycled(holder);
clearAdapter(holder);
}
protected void clearAdapter(RecyclerView.ViewHolder holder) {
Glide.clear(holder.mImageView);
...
}
Run Code Online (Sandbox Code Playgroud)
分配内存的结果更好(但不完美!).现在我有一个新问题,因为有时一些图像没有加载到我的新闻源中(它是完全随机的!)
谢谢你的帮助!
打电话说清楚onViewRecycled应该没问题.如果在循环视图池中有许多视图(您几乎总是这样做),它可以节省内存并改善位图重用.
但是,要求明确onViewDetachedFromWindow表示可能并不理想.视图可能会被分离,然后重新连接而不会被重新绑定.如果发生这种情况,视图可能显示为空.
尝试删除对clearAdapterin 的调用onViewDetachedFromWindow,看看是否有帮助.
| 归档时间: |
|
| 查看次数: |
1456 次 |
| 最近记录: |