Java ViewHolder类和OOM管理

Java ViewHolder类和OOM管理,java,android,memory-management,out-of-memory,Java,Android,Memory Management,Out Of Memory,使用ViewHolder类是否可以防止泄漏和大堆保留 class holder { WeakReference<ImageView> img; } holder holdr = new holder(); holder.img = ... displayImage(holder.img); 类持有者 { WeakReference-img; } 保持架保持架R=新保持架(); holder.img=。。。 显示图像(holder.img)

使用ViewHolder类是否可以防止泄漏和大堆保留

   class holder
    {
        WeakReference<ImageView> img;

    }

holder holdr = new holder();
holder.img = ...

displayImage(holder.img);
类持有者
{
WeakReference-img;
}
保持架保持架R=新保持架();
holder.img=。。。
显示图像(holder.img);

我是否应该将其作为参数传递,而不是将其声明为全局的?

当您使用ListAdapter时,ViewHolder模式的开发主要是由于性能问题,该ListAdapter为每个列表项反复显示具有相同结构的一些视图元素

在滚动ListView期间,您的代码可能会频繁调用findViewById(),这会降低性能。即使适配器返回一个膨胀视图进行循环,您仍然需要查找元素并更新它们。避免重复使用findViewById()的一种方法是使用“视图持有者”设计模式

您还应该将ViewHolder类设置为静态

你可以在网上了解更多

我也建议你看电视