Code Bye

安卓ViewHolder

安卓新手一枚,经常看到别人使用ViewHolder的时候用static class ViewHolder,最先以为这样只会在内存创建一个对象,减少内存使用。
今天试着去创建了两个对象,并打了下log发现两个地址并不一样。那使用静态类的意义何在呢?还是本人理解的不对,
求高手解惑
解决方案

50

显然不一样 你 new 了 不同的对象 内存地址是不一样的,
static class 这个内部类 不需要 外面的类实例化引用 就能直接访问。
http://stackoverflow.com/questions/7486012/static-classes-in-java

30

使用静态类是为了避免内存泄露,假如是非静态内部类,那么这个类实例会持有外部类对象

20

static的class的使用就不是new对象了。
它的定义主要目的就是在外部引用它内部对象时,不需要去new创建对象实例。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明安卓ViewHolder