1、非静态内部类隐式持有外部类引用导致
Android Handler
(解决方法):将非静态内部类改为静态内部类,将隐式持有变为显式持有,再赋以弱引用,当内存不足时便于GC回收
java内部类:https://www.cnblogs.com/dolphin0520/p/3811445.html
java静态内部类调用外部类成员变量的问题:https://blog.youkuaiyun.com/weixin_38405636/article/details/80839963
java各种引用:https://www.cnblogs.com/dolphin0520/p/3784171.html
2、静态方法集合类
https://www.cnblogs.com/panxuejun/p/5883044.html
3、数据库连接(dataSourse.getConnection()),网络连接(socket)和io连接,除非其显式的调用了其close()方法将其连接关闭,否则是不会自动被GC 回收的。
https://www.cnblogs.com/panxuejun/p/5883044.html
4、单例模式