关于静态内部类和静态成员变量

关于静态内部类和静态成员变量

关于内部类和成员变量那是不是都设为静态的,可以稍微避免一些内存泄漏呢,话说为什么静态的就可以呢,我有点忘了java静态的一些原理了。。只知道静态的话在内存中只会有一个实例获变量

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2020-03-30 10:20:05

原因是:1)非静态内部类会对外部类存在一个隐式引用,而静态内部类中不持有外部类的引用。  2)非静态内部类中存在异步任务时,可能由于的那个隐式引用导致其对应的外部类内存资源无法正常释放。所以做成静态内部类可以解决。祝:学习愉快

  • 提问者 黄启年 #1
    那静态变量呢?
    2020-03-30 18:15:46
  • 好帮手慕雪 回复 提问者 黄启年 #2
    1)你说的内部类全做成静态变量?没必要。2)还是说普通的类呢,静态变量一般不会引起泄露。除非类中所有的属性你全定义成静态变量,处处都是静态变量。那系统回收不了也会引起泄露。
    2020-03-30 18:51:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师