Android面试题:Java四大引用是什么?他们的区别是什么?

什么是强引用?什么是软引用?
参考连接

强引用:用只要引用链没有断开就不会释放,system.gc()可以回收强引用
软引用:会在内存不足的时候(或者即将报oom异常的时候),才会得到释放,system.gc()不会回收软引用

使用场景:软引用可以用来处理图片
如果APP中需要加载大量的图片,如果直接加载大到内存中,虽然打开图片很快,但是会消耗大量的内存。

如果将图片缓存到本地磁盘中,每次打开图片的时候都要进行读写操作,这样的话很慢

所以可以用软引用构建一块内存,当内容不够用的时候直接,将构建的内存释放就行
弱引用:可以使用system.gc()进行回收

使用场景(处理内存泄漏):如果某一块内存的回收对APP没有任何影响,这样对象就可以用弱引用管理
虚引用:如果不做虚拟机的开发,几乎用不到

作用:得到一个gc回收的通知

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值