JVM垃圾回收机制 会对没有引用的对象进行回收,而持有引用的对象是不能被回收的。
匿名内部类包含如下特征
1. new 操作符
2. 实现一个接口,或者继承自一个类
3. 有构造函数的调用,接口因为没有构造函数,默认是无参构造函数。
4. 拥有body,就像类定义一样,body内可以声明方法,但是 不能拓展构造函数。
匿名内部内可以直接访问本地类的成员变量。可访问 方法内通过final 修饰的本地变量。
因此常见的泄漏就是匿名内部类存在对act的引用。
private Object obj=new Object(){ @Override public String toString() { return super.toString()+"bbb"; } };Continue reading “Android 中的内存泄漏”