什么是强引用?什么是软引用?
参考连接
强引用:用只要引用链没有断开就不会释放,system.gc()可以回收强引用
软引用:会在内存不足的时候(或者即将报oom异常的时候),才会得到释放,system.gc()不会回收软引用
使用场景:软引用可以用来处理图片
如果APP中需要加载大量的图片,如果直接加载大到内存中,虽然打开图片很快,但是会消耗大量的内存。
如果将图片缓存到本地磁盘中,每次打开图片的时候都要进行读写操作,这样的话很慢
所以可以用软引用构建一块内存,当内容不够用的时候直接,将构建的内存释放就行
弱引用:可以使用system.gc()进行回收
使用场景(处理内存泄漏):如果某一块内存的回收对APP没有任何影响,这样对象就可以用弱引用管理
虚引用:如果不做虚拟机的开发,几乎用不到
作用:得到一个gc回收的通知