安卓新手一枚,经常看到别人使用ViewHolder的时候用static class ViewHolder,最先以为这样只会在内存创建一个对象,减少内存使用。
今天试着去创建了两个对象,并打了下log发现两个地址并不一样。那使用静态类的意义何在呢?还是本人理解的不对,
求高手解惑
今天试着去创建了两个对象,并打了下log发现两个地址并不一样。那使用静态类的意义何在呢?还是本人理解的不对,
求高手解惑
解决方案
50
显然不一样 你 new 了 不同的对象 内存地址是不一样的,
static class 这个内部类 不需要 外面的类实例化引用 就能直接访问。
http://stackoverflow.com/questions/7486012/static-classes-in-java
static class 这个内部类 不需要 外面的类实例化引用 就能直接访问。
http://stackoverflow.com/questions/7486012/static-classes-in-java
30
使用静态类是为了避免内存泄露,假如是非静态内部类,那么这个类实例会持有外部类对象
20
static的class的使用就不是new对象了。
它的定义主要目的就是在外部引用它内部对象时,不需要去new创建对象实例。
它的定义主要目的就是在外部引用它内部对象时,不需要去new创建对象实例。