ListView 优化之---ViewHolder为什么要用static修饰?
static class
ViewHolder {
TextView text;
ImageView icon;
}
多数情况下ViewHolder都是static的,可是为什么呢,很多人却是并没有弄个清楚。
现在分析一下:
1、使用static,保证只分配一块内存区域,并不会每次都分配内存空间,节省内存
2、作为一个内部类,如果是非静态的话,内部类会隐形的持有一个外部类的引用,而静态内部类却不会,从而外部类用完就被回收掉了,避免内存的泄露
ok,到这里,为什么是static修饰的问题的就解决了