模糊感觉,感觉什么Handler。Context内存泄漏
一开始各种handler,后来感觉都不敢用,感觉都是内存泄漏
梳理1 Handler内部类导致内存泄漏
handler里面控制消息,消息在队列里面,如果设置10s才去处理。
则消息一直在队列里面。那这个10s时间handler无法销毁。内部类
持有外部类引用。内部类<-外部类.所以等内部类回收,外部类才可以回收。
所以注意吧。外部类如果Activity,是不是也无法回收,那横竖屏幕
一直存在多个实例。直到10后,万一100s就得等100s
2静态+内部类
public class Singleton {
private static Singleton instance;
private Context mContext;
private Singleton(Context context){
this.mContext = context;
}
public static Singleton getInstance(Context context){
if (instance == null){
synchronized (Singleton.class){
if (instance == null){
instance = new Singleton(context);
}
}
}
return instance;
}
}
静态<-conext
context一直等静态回收才可以回收。静态回收等关闭应用吧。哈哈,内存泄漏了