Android 内存释放与泄漏的一点理解

来源:互联网 发布:linux强制删除用户命令 编辑:程序博客网 时间:2024/05/01 23:48

例如class A:
A a = new A();
a 是引用,new A()是实例,实例是需要分配内存
如果引用a没有赋值,那么引用a就相当于null,因此引用是不会占用内存,当实例new A()没有任何被引用指向,那new A()会被GC回收

例如class B implements Callback:
当B需要调用请求数据的方法,且需要传Callback的实现时,那么B的实例将被方法内的某个实例占用,当界面因某些原因导致onDestroy,那么B的实例很容易泄漏

例如class C:
有个构造方法
public C(Callback callback) {
this.callback = callback;
}
那么new C(callback)中的callback一定是Callback实现类的一个实例,而不是自己本身

0 0
原创粉丝点击