概念
- 内存泄露:Android 为每个应用分配了一定大小的内存,JVM会定时的回收它认为没有用的内存,当代码不规范时会导致一些内存无法被回收占用没存资源,当内存资源不足时一些内存也无法被回收,JVM就会抛出内存泄漏异常
- 内存溢出:Android 为每个应用分配了一定大小的内存,当Android应用new出一个对象时会向系统申请内存,这时如果系统分配给应用的内存不足(内存泄露导致内存无法释放一直占用内存资源)就会抛出内存溢出异常
引用模式
- 强引用:对象只要有引用就不会被回收
Object obj = new Object()
- 软引用:当系统发现快要发生内存溢出时,会回收该类的对象。
可以配合引用队列ReferenceQueue联合使用,如果软引用所引用的对象被回收掉JVM会把该软引用存放到已关联的ReferenceQueue中,等到系统将要抛出OutOfMemoryError的时候就会去回收ReferenceQueue中的软引用(ReferenceQueue回收机制是优先回收不常用的)
new Handler(new SoftReference(activity))
- 弱引用:jvm会不定时gc,在下一次GC时会被回收
new Handler(new WeakReference(activity))
- 虚引用:引用关系最弱的
new Handler(new PhantomReference(activity))
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
本平台(www.cooy.cn)的一切软件、教程及内容信息仅限用于学习和研究,付费仅为收集整理归类费用;
不得将上述内容用于商业或者非法用途,否则一切后果用户自行承担负责。本平台资源、内容、信息均来自来自用户上传,版权争议及其他问题与本平台无关。
您必须在下载后的24个小时之内从您的电脑或手机中彻底删除上述下载内容,如果您喜欢该程序或内容,请支持正版以获取更好的服务。我们非常重视版权问题,如有侵权请发送邮件至下方邮件(655465@qq.com),敬请谅解!
如发现违法违规内容,请联系下方邮箱举报,我们收到后将会第一时间处理。
THE END
暂无评论内容