weakreference handler android莫须有的罪名

来源:互联网 发布:求生之路2淘宝国区礼物 编辑:程序博客网 时间:2024/04/29 14:23

引言

最近在学习Android开发,因为本身对JAVA语言不是十分的熟悉,所以也掉进很多坑里面。
昨天是Android的simulator中官方的URLConnection无法使用FTP协议的BUG,今天来看Handler的内存泄露提示

Handler的内存泄露

随手写了一个很普通的Handler,结果Android Studio就狠狠地弹出大块黄色的警告QAQ

//处理句柄    private Handler mHandler = new Handler() {        @Override        public void handleMessage(Message msg) {        }    };
警告:This Handler class should be static or leaks might occur (null) (省略一万字)

当时就懵逼了,这也会内存泄露(leak)!!!说好的java的GC(Garbage Collection)机制呢?说好的不用操心内存的泄露呢?

参考

[1] android handler的警告Handler Class Should be Static or Leaks Occur
[2] 警告handler leaks的解决方法
[3] 理解 Java 的 GC 与 幽灵引用
[4] Java引用总结–StrongReference、SoftReference、WeakReference、PhantomReference

0 0