中易网

android static 什么时候被回收

答案:2  悬赏:50  
解决时间 2021-02-27 00:27
android static 什么时候被回收
最佳答案
在整个应用结束的时候,就是Application销毁后,但是一般退出应用后Application不会立即销毁,所以建议手动销毁一些必要的static 变量,还有android开发中尽量少使用static变量,容易内存溢出,和出现一些异常。
全部回答
如果你没有设置 xxx = null 那么你可以认为在application终止前,该内存永远不会回收. 如果你设置了null.那么在gc时会释放. 为什么不会回收? 静态对象的引用在方法区里. 方法区不参与gc. java heap分为3个区 1.young 年轻代 2.old 老年代 3.permanent 持久代,也有的jvm实现里叫 method area 方法区,具体取决于jvm实现. 所有类信息,类的静态变量都在 持久代 中 当你new 一个对象,申请内存的时候,首先是在年轻代中申请内存.如果失败了,会触发一次 minor gc. minor gc只会释放 年轻代 中的内存,并把仍存活的且符合条件的 对象 从年轻代 移入老年代. 如果minor gc后 内存仍然不足,此时会触发一次 full gc. full gc会释放老年代 和 持久代 中未被使用的对象(?) 如果是java程序,那么 静态常量 有 可能在 full gc时和 class本身一起被回收. (?)这个依赖具体虚拟机实现 有的虚拟机实现里 持久代/方法区 不参与gc dalvik虚拟机中 只有 gc堆 和 方法区
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
康县金友二手车交易市场怎么去啊,有知道地址
谁有BigBang中TOP的小说文包,求分享
实况足球2013老甲A球衣
汽车改雷凌氙气灯 雷凌改装远近一体化氙气大
WIN764位笔记本如何开机自动连接网络
久日农业机械有限责任公司地址在什么地方,想
三星c9和c8哪个好
我想我的银行卡贷款五千元一年还清不知道找那
龙海社区文化馆地址在什么地方,想过去办事
为什么白葡萄酒更搭配海鲜?
防水材料是大禹的好还是蓝剑的好
我朋友家狗狗是个泰迪,三个月左右,喂它吃的
马丁靴脚背不舒服
轩辕传奇里的2阶弑神进阶任务5/6的任务怎么做
我的左手掌边缘一侧发麻,持续了一个月,现在
推荐资讯
在吸尘器工厂做事到底对身体有没有害,求解答
金蝶K3 ERP怎样管理物料出入库
中国社会有阶级吗?
乔建镇林场在什么地方啊,我要过去处理事情
三清山服务区-宾馆我想知道这个在什么地方
歌词:到不了永远,到不了永远。是什么歌名?
男朋友太被动算什么意思
因为男友发信息过来,而当时我又没在所以信息
请你用微粒的观点解释以下现象.妈妈在厨房里
在哪个台能看到杨毅和马重阳的nba解说啊??
右手大拇指掉一节,能评几级伤残
中国工商银行(衢江支行)地址在什么地方,我要
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?