Java外部类内存泄漏问题

看到网上有一个有趣的提问:Android在使用Handler通信的时候,发现例如在runOnUiThread中修改了外部类的控件,而activity被销毁了,那runOnUiThread调用控件时会不会发生空指针异常?

后来进行思考得出如下结论:
匿名内部类持有外部类的对象,在内部类没有被回收之前,外部类不会被回收,因为和内部类关联。
所以就算activity被关闭了,生命周期全部走完,也不会被回收,所以不会出现空指针。
但是,如果内部类一直存活的话,会产生内存泄漏。

    原文作者:BATTERIA
    原文地址: https://blog.csdn.net/ybhy123/article/details/88748256
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞