Android垃圾回收机制--二

岁酱吖の 提交于 2019-12-06 06:52:20
1. 哪些情况下的对象会被垃圾回收机制处理掉
答案:
1)发现无用信息对象
2)回收被无用对象占用的空间的内存空间,使该空间可被程序再次使用
2.垃圾回收机制的意义
Java语言中的一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不在需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效防止内存泄漏,有效的使用空闲的空间
PS:内存泄漏是指该内存空间使用完毕之后未收回,在不涉及复杂数据结构的一般情况下,Java的内存泄漏表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们有时也将其称为“对象游离
 
3. 内存回收机制
1)采用标记计数的方法给内存中的对象给打上标记,对象被引用一次,计数就加1,应用被释放了,计数就减1,当这个计数为0的时候,这个对象就可以被回收了,当然,这也就引发了一个问题:循环引用的对象是无法被识别出来并且被回收的,所以就有了第二个方法:
2)采用根搜索算法从一个根出发,搜索所有的可达对象,这样剩下的哪些对象就是需要被回收的
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!