ViewHolder为什么是被设计成static类型的

来源:互联网 发布:手机版 淘宝 人工客服 编辑:程序博客网 时间:2024/05/22 06:44

http://my.oschina.net/u/579493/blog/183766

ViewHolder为什么是被设计成static类型的,本人一直没弄清楚。在网上找了些资料但是一直没能看到一个能说服我的理由。又说节省内存,保持对象的唯一性,还有说保持图片不错乱但是个人感觉都不怎么靠谱。今天我试了下将static去掉照常运行没感觉和以前有什么区别。后来我查了下static类的一些特性,首先ViewHolder是一个内部类若是static类的话则不需要依赖外部类的对象。也就是说只有static的内部类的成员变量才可以被声明成static类型,若内部类不是static类型的则不可以声明静态成员变量。不知道是不是static内部类的这个特性吸引了设计者?如果有谁清楚这个问题还请不吝赐教。


非static内部类会持有外部类的引用,这样就会涉及到外部类的释放依赖内部类。如果内部类过多的引用外部类的话,这样很容易造成外部类得不到释放。

0 0