Flex event 强引用与弱引用

JavaScript性能三大地雷:执行时机、内存泄漏与强制布局 JavaScript性能问题常被误认为是算法或引擎缺陷,实则多源于基础执行模型理解偏差。主线程单线程本质决定了微任务与宏任务的严格调度顺序,不当使用setTimeout、Promise.then或高频事件监听易引发长任务与主线程阻塞;内存泄漏并非GC失效,而是因事件监听器未解绑、定时器幽灵引用或闭包意外持有所致的‘不可达对象’堆积;而强制同步布局(FSL)则源于对getBoundingClientRect等DOM几何API的滥用,打断渲染流水线。这些现象共同导致首屏加载慢、输入延迟、滚动掉帧等典型卡顿症状, 阅读详情
flex中给组件加监听分为强引用和弱引用。
强引用不会自动释放,但可以保持监听存在,不会出现监听丢失情况!
可以再关闭页面的时候清空强引用的监听。但如果王了清空就会内存泄露!!
弱引用是不经过垃圾回收机制,过一段时间自己释放掉监听。但这样可能会出问题,万一用一段时间了,监听丢失了,系统就不能继续走了!
如果我们使用强引用(默认情况),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);
Unity游戏开发架构指南:PureMVC框架核心概念与实战应用 在软件工程中,架构模式是构建可维护、可扩展应用程序的基石。MVC(Model-View-Controller)作为一种经典设计模式,通过职责分离将数据、界面和业务逻辑解耦,其核心原理在于降低模块间的直接依赖,提升代码的可测试性和团队协作效率。这一模式的技术价值在于能够有效应对项目复杂度增长带来的“大泥球”架构问题,尤其适用于需要处理复杂业务逻辑和数据交互的应用场景,例如游戏开发。在Unity游戏开发领域,PureMVC框架是MVC模式的一个轻量级且跨语言的实现,它通过引入Proxy(代理)、Mediator 阅读详情

相关推荐

2023大厂面试风向:八股文从背概念到讲原理

技术面试中,基础知识的考察正从简单记忆转向原理级理解。以并发编程为例,synchronized的锁升级、volatile的内存屏障、AQS的队列机制,均需结合JVM运行时和实际场景讲透。同样,MySQL索引失效与事务隔离级别、Redis缓存穿透与持久化、Kafka顺序写与零拷贝等核心原理,成为后端岗位高频追问点。文章基于2023年5月大厂面试观察,梳理各岗位考察权重与实战案例,帮助候选人建立结构化知识体系,从容应对深度追问。

weixin_30247781的博客 362

关于AS3中弱引用的一点理解

载自:http://www.rkuk.org/post/3.html 弱引用英文叫做weak reference,与之相反的是强引用(strong reference)。引用不是对象本身,而是类似于指向对象的一个指针。通常都说当至少还存在一个引用指向某个对象的时候,这个对象就不会被gc,这里所说的引用就是强引用,而不是弱引用。反过来说,即使有N多弱引用指向某个对象,而没有一个强引用指向该对

dengxingbo的专栏 1719

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档)

SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心...

AS3弱引用强引用

最近看

禅者,心如止水 2102

YOLOv8作物病害检测实战源码

这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

AS3 事件中的弱引用

文章来之:http://hi.baidu.com/mr%5Fziqiang/blog/item/ff263938e641cb2cb8998fcd.html   1、无论是否使用弱引用或者强引用,只要事件对象没有再被其他对象引用,并且垃圾回收周期到达。那么无论是否使用了removeEventListener移除他的事件,这些事件都不会发生了。因为已经没有了事件发送者了。 举例: var a:...

sooxin的专栏 221

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

FLEX的强引用和弱引用问题weak reference

今天看到篇关于flex(AS)中添加EventListener时候要注意的参数问题,大致意思如下: 如果我们使用强引用(默认情况),FLASH的垃圾回收不会释放这个引用实例,尽管你把这个对象置为null或是其它,除非你手动去执行removeListener()方法,这里还有一个方法就是在添加事件时候使用弱引用。 一般情况我们在添加一个事件的时候,比如给一个按钮添加一个onclick事件,我们的写法...

梦里寻他千百度,蓦然回首。 210

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Study Flex《强引用与弱引用》

一、描述 前面被问到了,心里只有个影子,并不深入。比如: 是什么、区别、应用范围等。 二、解决方法 google、度娘了一大圈才有所明白。 三、原因 由于系统垃圾回收机(gc)制而提出来的。 四、实现 1.是什么: 强引用:也就是我们通常所讲的引用,其存亡直接决定了所指对象的存亡。如果不存在指向一个对象的引用,并且此对象不再显示列表中,则此对象会被从内存中释放。 弱引用:除了不

傻大专栏 990

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

FLEX程序设计--事件和事件机制--Event类

1.事件概述: 事件是系统与用户之间直接的交互方式.当用户向系统发出指令时,就会产生一个事件,用户就可以与系统对话. 1.1.事件的监听 在ActionScript3.0中,注册事件的侦听函数是通过addEventListener()方法实现的. addEventListener函数格式: public override funct...

weixin_33755649的博客 242

Smali语言基础语法

定义、声明、调用 Smali数据类型 定义:与Java相同,Smali中也有一套数据类型体系,且该体系实质上是同Java一一对照的。 示例1:Smali——Java数据类型对照表 PS:如上图所示,Smali语言中的数据类型的关键词基本上为Java中同名数据类型的首字母大写,需要着重记忆的例外为:1.long类型的关键词为大写J;2.boolean类型的关键词为大写Z;3.数组的关键词为左半边中括号[;4.object类型(各种类)的关键词为大写L加上该类的全类名路径,路径中的层级用/分割。

aketoshknight的博客 1万+

Hypermesh联合ABAQUS—Sets的建立和编辑

打开part copy对话框在对话框的最上面位置可以输入copy后的名称,然后将最下面的Separate disconnected regions into parts(将不连续的区域分割成parts)选项的前面方框勾选上。打开abaqus软件界面,File→import→model,将file filter选为inp格式,找到要导入的有限元文件,单击OK导入文件。HyperWorks新建Set时,会在Model Browser显示,打开Create Set对话框显示详细信息。快捷键,高亮set的内容。

动力资料屋的博客 1291

Flex事件机制(1)

机制说明:  事件机制分为三个阶段,按照先后顺序如下说明(假设Button分发了事件): 捕获阶段(Capture phase):从顶部(如root)到目标; 目标阶段(Target phase):到达目标; 冒泡阶段(Bubbling phase):从目标到顶部。 注: 1、当鼠标点击触发了事件:Button(D); 2、FlashPlayer会将事件对象调度到从显示列

EyeShang的专栏 1072

告别130MB/s瓶颈!用Zynq+NVMe实现1.2GB/s高速存储的PL数据分流实战

本文详细介绍了如何通过Zynq+NVMe实现1.2GB/s高速存储的PL数据分流方案,突破传统Zynq架构130MB/s的瓶颈。文章分享了PL直连NVMe的硬件架构设计、软件栈优化及性能调优实战技巧,帮助开发者实现高速数据流的稳定存储。

weixin_42653691的博客 372

前端常见手写面试题

本文总结了前端面试中常见的手写代码实现,分为初级、中级、高级和CSS四个部分。初级包括数组去重、数组扁平化、深拷贝、防抖节流等基础功能实现;中级涵盖完整深拷贝、Promise实现、发布订阅模式等;高级部分涉及Vue响应式原理、虚拟DOM、nextTick和VueRouter等原理实现;CSS部分提供了常见布局样式的代码示例。这些实现既包含了核心原理说明,也提供了面试话术建议,适合前端开发者系统复习手写代码要点。

2301_76805327的博客 650

基于ROS2的无人机野生动物巡查系统设计

自主巡检系统是嵌入式人工智能与机器人技术融合的关键应用方向,其核心在于多源感知融合、实时路径规划与端侧智能识别的协同实现。原理上依赖SLAM定位构建环境地图,结合栅格化建模与混合路径算法(如蚁群+BFS)达成全覆盖遍历;技术价值体现在资源受限平台下的确定性响应与时空对齐能力,支撑高鲁棒性野外作业。典型应用场景包括生态监测、禁飞区巡检及小尺度智能安防。本文围绕ROS2 Humble中间件架构、Livox激光雷达与MaixCAM视觉协同、YOLO11n INT8模型端侧部署等关键技术展开,突出嵌入式AI与实时控

weixin_30598047的博客 649

我的AI学习 ai维护工具之langfuse

as_type: Optional[Literal[‘generation’]] = None, # 将记录定义为 Observation (LLM 调用)transform_to_string: Optional[Callable[[Iterable], str]] = None # 将输出转为 string。要用LangFuse的云服务,首先要在LangFuse官网上注册,注册完后将页面拉倒最后,点免费的SignUp,API文档:https://api.reference.langfuse.com/

liubaobin的博客 4095

【2026年9月】最新计算机专业面试八股文(全体系总结)

本八股文适配2026年春招/秋招/社招最新面试趋势,覆盖通用基础、主流开发专项、工程架构、前沿技术、算法核心五大核心模块,标注高频考点与2026年新增超高频考点,兼顾系统性、应试性与实战落地性。

小江的记录本 1万+

Python爬虫实战:构建药监局药品批准信息本地查询系统

在医药信息化时代,药品批准信息的快速查询对于医药从业者、研究人员和普通消费者都具有重要意义。国家药品监督管理局(NMPA)提供了官方的药品查询系统,但有时我们需要建立本地数据库以便批量分析或离线查询。本文将详细介绍如何使用Python爬虫技术,结合最新的异步爬虫框架和技术栈,构建一个完整的药监局药品信息本地查询系统。本系统将实现以下功能:自动化爬取药监局官网的药品批准信息数据清洗和结构化存储建立本地查询接口数据定期更新机制pythonimport os"""药品类型枚举"""

2201_76125261的博客 728
上一篇: 关于flex的Object和Dictionary
下一篇: 提高Flex程序性能的10个秘诀
narutobing
博客等级 码龄18年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值