Android必备回顾:6、java四大引用

Android必备回顾:6、java四大引用,第1张

Android必备回顾:6、java四大引用

软引用

好,首先我们来看一下这里,给大家写了一个testSoftReference。

    
    public void testSoftReference(){
        User user = new User(1, "Andy");
        //user对象保存在软引用里面
        SoftReference userSoft = new SoftReference(user);
        user = null;//干掉强引用
        System.out.println(userSoft.get());//取user对象
        System.gc();//调用gc回收内存
        System.out.println("After gc");
        System.out.println(userSoft.get());
        //向堆中填充数据,导致OOM
        List list = new linkedList<>();
        try{
            for (int i=0; i<100; i++){
                System.out.println("for====="+userSoft.get());
                list.add(new byte[1024*1024*1]);//添加1M(兆)的byte数组
            }
        }catch (Throwable e){
            Syst

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5436731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存