java-android中GC后弱引用与JAVA中的不同点

问题描述

android中GC后弱引用与JAVA中的不同点

JAVA和android中都执行以下代码,分别得到hello,null和hello,hello
WeakReference wr= new WeakReference(new String("hello"));
System.out.println(wr.get());
System.gc();
System.out.println(wr.get());

有大神解答下吗?

解决方案

调用gc并不保证一定能马上回收对象,只是告诉系统需要回收,系统得到时间片才会去处理

解决方案二:

Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects.

时间: 2024-12-23 21:49:08

java-android中GC后弱引用与JAVA中的不同点的相关文章

uri-新手问android拍照保存后立即从Media.EXTERNAL_CONTENT_URI中查不到信息

问题描述 新手问android拍照保存后立即从Media.EXTERNAL_CONTENT_URI中查不到信息 调用系统拍照程序,并用putExtra(MediaStore.EXTRA_OUTPUT,path)保存了,在file explorer 也能看到图片,但是从Media.EXTERNAL_CONTENT_URI查不到信息,返回后在执行一次才能查到上次保存的图片的信息,本次 保存的还是查不到 解决方案 拍照之后在回调方法中获取的data数据中可以获取到 解决方案二: 直接用startAct

java-刚从JAVA转到PHP,碰到引用其他文件中的类的问题。

问题描述 刚从JAVA转到PHP,碰到引用其他文件中的类的问题. JAVA/C# 引用都在文件头几行,而这位大牛要我写PHP时,引用要动态引用写在某类的方法里. 我很疑惑,性能,便捷... 大牛的用法是这样的(用的是thinkPHP框架,我们不讨论框架好坏,只讲PHP): Class Test{ function onePerson(){ import "lib.Person"; $p=new Person(); $p->talk(); } function killPerson

listcontrol-求教:C++中怎么在一个对话框中输入数据后在另一个对话框中的表格中显示出相应的数据?

问题描述 求教:C++中怎么在一个对话框中输入数据后在另一个对话框中的表格中显示出相应的数据? 先设定主框为有表格的对话框,在这个对话框点添加按钮后弹出了子对话框(用于输入数据),可是怎么把输入的数据在表格中显示出来呢? 解决方案 可以在创建输入数据的对话框的时候就把ListView的指针发送给它,然后m_List.InsertColumn() 解决方案二: 在一个对话框中输入数据后,要看你是如何保存的? 如果是保存成全局的变量,另一个对话框就可以直接访问(同一应用中两个不同的对话框): 如果是

was7.0中发布后的程序在WAS中找不到发布的程序路径

问题描述 本人在was7.0发布一个war包.发布过程中没有任何问题.但是发布之后却在was目录下,找不到程序所发布的程序.相应的应用概要下找不到.有人说是什么服务没启,但是我程序都可以发布了,难道还要起什么服务嘛?求各位高手指教! 解决方案 解决方案二:你的node有同步过吗?如果node没有同步,发布是不成功的.解决方案三:那个发布的目录是可以改的参数,你到AdminConsole里面查找一个WebSphereVariables里面的USER_INSTALL_ROOT是指向哪个目录下.解决方

10分钟带你理解Java中的弱引用_java

前言 本文尝试从What.Why.How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义.基本使用场景和使用方法. 一. What--什么是弱引用? Java中的弱引用具体指的是java.lang.ref.WeakReference<T>类,我们首先来看一下官方文档对它做的说明:      弱引用对象的存在不会阻止它所指向的对象被垃圾回收器回收.弱引用最常见的用途是实现规范映射(canonicalizing mappings,比如哈希表).      假设垃圾收集器在某个

Android 软引用和弱引用详解及实例代码_Android

Android 软引用 和 弱引用        1.  SoftReference<T>:软引用-->当虚拟机内存不足时,将会回收它指向的对象:需要获取对象时,可以调用get方法.     2.  WeakReference<T>:弱引用-->随时可能会被垃圾回收器回收,不一定要等到虚拟机内存不足时才强制回收.要获取对象时,同样可以调用get方法.     3. WeakReference一般用来防止内存泄漏,要保证内存被虚拟机回收,SoftReference多用作来

Android 弱引用和软引用

软引用 和 弱引用        1.  SoftReference<T>:软引用-->当虚拟机内存不足时,将会回收它指向的对象:需要获取对象时,可以调用get方法.     2.  WeakReference<T>:弱引用-->随时可能会被垃圾回收器回收,不一定要等到虚拟机内存不足时才强制回收.要获取对象时,同样可以调用get方法.     3. WeakReference一般用来防止内存泄漏,要保证内存被虚拟机回收,SoftReference多用作来实现缓存机制(c

Android 软引用和弱引用详解及实例代码

Android 软引用 和 弱引用 1.  SoftReference<T>:软引用-->当虚拟机内存不足时,将会回收它指向的对象:需要获取对象时,可以调用get方法. 2.  WeakReference<T>:弱引用-->随时可能会被垃圾回收器回收,不一定要等到虚拟机内存不足时才强制回收.要获取对象时,同样可以调用get方法. 3. WeakReference一般用来防止内存泄漏,要保证内存被虚拟机回收,SoftReference多用作来实现缓存机制(cache);

[译] 对元素持有弱引用的 Swift 数组

本文讲的是[译] 对元素持有弱引用的 Swift 数组, 原文地址:Swift Arrays Holding Elements With Weak References 原文作者:Marco Santarossa 译文出自:掘金翻译计划 译者:zhangqippp 校对者:ZhangRuixiang,Danny1451 对元素持有弱引用的Swift数组 在 iOS 开发中我们经常面临一个问题:"用弱引用还是不用,这是一个问题.".我们来看一下如何在数组中使用弱引用. 概述 在本文中,我