美文网首页
被问到的奇葩问题

被问到的奇葩问题

作者: 疯子一般的勇士 | 来源:发表于2017-06-06 17:58 被阅读0次

    前几天去面试时遇到个技术问了个让我一脸懵逼的问题,大概是他在ActivityB中需要ActivityA的实例,所以他在ActivityA中搞了个静态变量引用ActivityA实例。然后直接在ActivityB中使用。

    至于我为啥懵逼,那是因为他之前刚问过我内存泄漏的问题
    内存泄漏嘛,简单说就是该释放的内存没释放掉

    相信大家都知道在android中static修饰的变量的生命周期等同于整个app的运行周期。如果如上文中那么做,假设不把ActivityA中引用自己的静态变量置为null,那么ActivityA的实例就会一直存在直到app运行结束,即使在ActivityA中调用finish()来关闭ActivityA,onDestroy即使被调用ActivityA也依然存在,ActivityA中类变量也没有释放掉,内存空间也依然被占用。
    这就是非常典型的内存泄漏嘛。

    所以记下这个来时时提醒自己,项目中慎用static。

    相关文章

      网友评论

          本文标题:被问到的奇葩问题

          本文链接:https://www.haomeiwen.com/subject/xcxaxxtx.html