关键字: 强引用,弱引用
今天看到篇关于flex(AS)中添加EventListener时候要注意的参数问题,大致意思如下: 如果我们使用强引用(默认情况),FLASH的垃圾回收不会释放这个引用实例,尽管你把这个对象置为null或是其它,除非你手动去执行removeListener()方法,这里还有一个方法就是在添加事件时候使用弱引用。 一般情况我们在添加一个事件的时候,比如给一个按钮添加一个onclick事件,我们的写法是: button.addEventListener(Event.click,onclick);这种时候是强引用,因为addEventListener还有几个默认的参数useCapture=false,priority=0;useWeakReference=false , 因此添加一个弱引用的方法是: yourobject.addEventListener(Type, function, false, 0, true); 什么情况应该使用强引用,什么情况不应该使用呢? 当一些变量是成员变量(比如界面上不需要删除的BUTTON),这种它的生命周期和listener是一样的(意思是中间不用动态删除在重复产生)这种情况我们不用考虑弱引用; 当一些对象是不稳定的,动态变化的,比如TIMER,flashplayer认为它是整个生命周期的,应该使用弱引用,如果你使用强引用,这个timer对象将永远不会垃圾回收。(注意) 所以我们使用timer时候一定要这么写:myTimer.addEventListener(TimerEvent.TIMER, onTimer, false, 0, true);
分享到:
相关推荐
引入弱引用后,其中一个对象可以使用弱引用来指向另一个,这样在没有其他强引用存在时,系统可以正确地回收内存。 2. **观察者模式**:在事件驱动或回调机制中,观察者通常使用弱引用来订阅事件,这样当发布者被...
从JDK 1.2版本开始,Java引入了四种不同级别的引用:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。这些引用类型提供了灵活的内存管理策略,允许...
从Java SE2开始,Java引入了四种不同类型的引用:强引用、软引用、弱引用和虚引用,它们各自具有不同的特点和用途,有助于程序员更精细地控制对象的生命周期,并优化垃圾回收过程。 1. 强引用(Strong Reference) ...
2. **弱引用(Weak Reference)** - **定义**:弱引用不会阻止对象被垃圾收集。一旦所有强引用消失,即使有弱引用指向,对象也会被回收。 - **例子**:`WeakReference<Object> weakRef = new WeakReference(new ...
在这个过程中,软引用(Soft Reference)和弱引用(Weak Reference)是两种非常重要的工具,它们可以帮助我们避免内存泄漏,提高应用的内存效率。下面我们将深入探讨这两种引用类型及其在Android中的应用。 首先,...
强引用、弱引用、软引用和虚引用是四种不同的引用强度,它们在垃圾回收机制中扮演着不同的角色。了解这些引用类型对于优化内存使用、防止内存泄漏以及合理地控制对象生命周期至关重要。 1. **强引用(Strong ...
为了更好地理解和控制对象的生命周期,Java提供了四种不同类型的引用:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)以及虚引用(Phantom Reference)。每种引用都有其特定的...
3. **弱引用(Weak Reference)**: - 弱引用比软引用更弱,它不会阻止对象被垃圾收集。通过`java.lang.ref.WeakReference`类创建。只要发现对象只有弱引用,JVM就会在下一次GC时回收该对象。弱引用适用于那些...
这个"referenceInJava"项目专注于探讨四种不同类型的引用:强引用、软引用、弱引用和虚引用。这些引用类型与垃圾收集(Garbage Collection, GC)机制密切相关,对于优化内存使用和防止内存泄漏至关重要。 1. **强...
本文将深入探讨Java中三种特殊的引用类型——软引用(Soft Reference)、弱引用(Weak Reference)以及虚引用(Phantom Reference),并分析它们如何帮助我们更好地管理内存资源。 #### 二、基础知识回顾 在深入了解这三...
2. **弱引用(Weak Reference)**:弱引用比软引用更弱,一旦发现一个对象只有弱引用,无论内存是否充足,垃圾收集器都会在下次GC时回收该对象。这使得弱引用非常适合用于构建不阻塞垃圾收集的关联数据结构。 3. **...
在 Java 中,引用可以分为四类:强引用、软引用、弱引用和虚引用(也称为精灵引用)。弱引用是其中的一种,它们允许垃圾回收器在某些情况下回收对象,而不是像强引用那样坚持对象的存在。 弱引用的工作原理是,当...
在C语言中,链接器处理程序的不同部分时,会遇到强符号、弱符号、强引用和弱引用的概念。这些概念对于理解和解决多源文件项目中的符号冲突至关重要。 首先,强符号是那些在编译时被定义并且初始化的全局变量或者...
它允许定义一个可替换的全局变量或函数,如果在链接阶段有更强的定义(非弱引用),则弱引用会被覆盖,否则弱引用的定义将被使用。这种机制在某些特定情况下的软件设计中非常有用,例如库的默认实现、驱动程序的可...
这意味着当对象的所有强引用都被释放后,弱引用也会自动设置为 `nil`,从而避免了内存泄漏和循环引用的问题。 #### 二、为什么使用弱引用 使用弱引用的原因主要有以下几点: 1. **避免内存泄漏**:通过使用弱引用...
在Java中,`java.lang.ref`包提供了三种不同类型的引用:强引用(Strong Reference)、软引用(Soft Reference)和弱引用(Weak Reference)。我们主要关注弱引用,它通过`WeakReference`类来实现。弱引用对象在创建...
本篇文章尝试从What、Why、How这三个角度来探索Java中的弱引用,理解Java中弱引用的定义、基本使用场景和使用方法。由于个人水平有限,叙述中难免存在不准确或是不清晰的地方,希望大家可以指出,谢谢大家:) 1....
本文将深入探讨四种引用类型:强引用、软引用、弱引用和虚引用。 首先,我们来理解强引用(Strong Reference)。强引用是最常见的引用类型,它代表了程序中的普通对象引用。当一个对象被强引用指向时,该对象被认为...
`shared_ptr`和`weak_ptr`是两种常见的智能指针类型,分别代表了强引用和弱引用的概念。 `shared_ptr`是C++11引入的一种智能指针,它管理一个动态分配的对象,并在不再有引用指向该对象时自动删除它。`shared_ptr`...
在Java中,为了更好地管理对象的生命周期,从JDK 1.2开始引入了四种不同级别的引用类型:强引用、软引用、弱引用和虚引用。每种引用类型都有其特定的应用场景,通过灵活运用这些引用类型,开发者可以在内存管理和...