- 浏览: 579994 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
smilezhouwei:
请问CruiseControl在加载jar包时,由于jar包过 ...
修改CruiseControl的端口 -
zengxuefei:
不起作用啊,有bug
Flex+Java多文件上传 -
lzeus:
模仿的tomcat源码吧?
java事件处理机制(自定义事件)【转】 -
yangbobestone:
...
FreeMarker整合Struts2 -
fddjxllren:
那是因为你没配置事务,楼主的那个主要是针对事务的写法
Spring2.5+JUnit4单元测试
转载:[as hack技术]垃圾回收机强制执行 http://bbs.9ria.com/thread-234-1-2.html
核心hack技术
try{ new LocalConnection().connect("MoonSpirit"); new LocalConnection().connect("MoonSpirit"); }catch(error : Error){ }
运行上述代码,可强制执行一次垃圾回收机。
具体测试:
分别用initNoBitmapDataView()和initBitmapDataView()进行10k个举行元素创建
测试结果:
1.1不使用BitmapData 内存占用 40M
2.1使用BitmapData 依旧内存占用 40M!
原因分析: 虽然_sqrList被设为null,但是原先被_sqrList所引用的1w个sprite数据依旧在内存中存在,虽然AMV2自带垃圾回收机,但是何时进行垃圾回收是不确定的。而要强制执行垃圾回收机,则要用上文提到的hack手段
2.2使用BitmapData + 垃圾回收hack 内存占用 12M
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.net.LocalConnection; public class MoonSpirit extends Sprite { private const SQR_AMOUNT : int = 10000; //方块数量 private var _container_sp : Sprite; //容器sprite private var _sqrList : Array; //所有方块的引用 public function MoonSpirit() { init( ); } private function init( ) : void{ _container_sp = new Sprite( ); addChild(_container_sp); //initNoBitmapDataView( ); initBitmapDataView( ); } //初始化 通过通常手段 显示 private function initNoBitmapDataView( ) : void { layoutTenThousandSqr( ); } //初始化 通过BitmapData快照 显示 private function initBitmapDataView( ) : void { layoutTenThousandSqr( ); var myBitmapDataObject : BitmapData = new BitmapData(150, 150, false, 0xFF0000); var myImage:Bitmap = new Bitmap(myBitmapDataObject); addChild(myImage); unLayoutTenThousandSqr( ); _sqrList = null; doClearance( ); } private function layoutTenThousandSqr( ) : void { _sqrList = new Array( ); for(var i : int = 0; i < SQR_AMOUNT; i++){ _sqrList.push(new Sprite()); _sqrList[i].graphics.beginFill(0xff0000); _sqrList[i].graphics.drawRect(0,0,100,100); _sqrList[i].graphics.endFill(); _container_sp.addChild(_sqrList[i]); } } //不显示 private function unLayoutTenThousandSqr( ) : void { for(var i : int = 0; i < SQR_AMOUNT; i++){ _container_sp.removeChild(_sqrList[i]); delete _sqrList[i]; } } //精髓,垃圾回收机强制调用 private function doClearance( ) : void { trace("clear"); try{ new LocalConnection().connect("foo"); new LocalConnection().connect("foo"); }catch(error : Error){ } } } }
发表评论
-
AS3 条件编译
2013-06-07 09:38 1303转:http://www.lite3.cn/blog/?p= ... -
TextField没有buttonMode的方法..
2010-12-10 16:28 2295TextField没有buttonMode的方法..不过由于T ... -
ActionScript 处理html超级链接
2010-12-09 11:14 2128ActionScript 处理html超级链接 p ... -
通过代理传参数
2010-07-02 11:43 1384通过代理传参数 package com.xlands.uti ... -
ArrayUtils
2010-07-02 11:36 1500/* Copyright aswing.org, s ... -
将数组随机排序后返回
2010-06-30 16:40 1815将数组随机排序后返回 方法一 /** * ... -
AS类中跳转
2010-06-29 10:22 1795AS类中跳转 navigate ... -
Flash与Javascript交互时可用ExternalInterface类
2010-06-29 10:17 3644Flash与Javascript交互时可用ExternalIn ... -
Flash中所支持的Html标签
2010-06-24 17:21 1364Flash中所支持的Html标签 ... -
navigateToURL()
2010-06-22 15:27 2489navigateToURL() public fun ... -
ActionScript中Http请求
2010-06-19 09:42 3071ActionScript中Http请求 因我是用MVC模式来 ... -
ActionScript字符串工具
2010-06-04 09:44 3257ActionScript字符串工具 package c ... -
加载外部SWF文件
2010-05-22 15:43 1353加载外部SWF文件 package mytest.dt { ... -
AsWing+Java上传文件
2010-05-11 09:16 1743AsWing+Java上传文件 UI是用AsWing实现比较 ... -
A*最最基础的非常非常好的寻路教程!
2010-05-08 10:01 1994最最基础的非常非常好 ... -
JTable单元格偏移
2010-05-07 11:15 1349如果Frame中有个表格JTable,且允许双击单元格编辑,那 ... -
ActionScript中日期正则表达式
2010-04-27 18:24 1265这里是判断YYYY-MM-DD这种格式的,基本上把闰年和 ... -
AS中使用JSON
2010-04-26 09:15 2989要使用json作为数据交换格式。需引入corelib Acti ... -
invalidateDisplayList
2010-03-31 14:39 1911当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便 ... -
自定义组件XPropertyTable
2010-03-13 12:56 1575这个是基于AsWing组件库实现的 主要是对JTable和P ...
相关推荐
Google_Hack技术_搜索技术
css的hack技术,跨浏览器兼容问题,想从事web前端的孩纸们快来看看啊
GitHack是一个.git泄露利用测试脚本,通过泄露的文件,还原重建工程源代码。
Hack Audio:An Introduction to Computer Programming and Digital Signal Processing in Matlab 2019 Hack Audio:An Introduction to Computer Programming and DSP in Matlab.part1.rar (15 MB, 下载次数: 237...
Hack-Lang-HHVM-资源:利用Hack Lang和HHVM资源进行美化
vim-hack:用于Hack的语法突出显示和typechecker集成
hack 测试题 基本防HACK安全技术测试
利用Google的语法我们可以做很多的事情,2006年的时候网络上出现了几件大事,比较出名的有“魔兽铜须事件”,很多黑客就是利用Google Hack技术找到了铜须的QQ号码、MSN、邮件地址等个人信息。目前黑客利用Google ...
explorer_poc 一个新的Flutter应用程序。 入门 该项目是Flutter应用程序的起点。 如果这是您的第一个Flutter项目,那么有一些资源可以帮助您入门: 要获得Flutter入门方面的帮助,请查看我们的,其中提供了教程,...
剪贴簿弗恩斯 :handshake: 查找Hack 的朋友,改编自的工作坊!
HAS :HACK应用程序套件 除非文件顶部另有说明,否则HAS已获得MIT许可(请参阅LICENSE文件)。 关于 HACK Application Suite是一个库和程序,用于处理与HACK CPU和指令集以及JACK编程语言有关的各种任务。 HAS当前...
AutoexecHack #注意: 该存储库已被弃用。 但是乐趣还没有结束。 请访问以下存储库: -康拉德。
TryHackMe-Writeups:TRY HACK ME的PDF文件
browser-hack-sass-mixins:浏览器hack sass mixin-将SCSS应用于特定的浏览器-CSS hacks:IE,Chrome,Firefox,Edge,Opera
ipfs-hack-day-barcelona-october-2017:IPFS Hack Day Barcelona(巴塞罗那)-2017年10月
car_xray:收集车辆hack技术
在这里,您将可以在 21/03 的 Hackday 期间访问内容以补充您的开发。 通过浏览上方访问内容或克隆存储库: git clone :FundacaoLemann/hackday.git 提交 在项目/文件夹中添加您的项目 并在我们的 repo 中发出。
来自 Hack Reactor 函数式 JavaScript 课程的练习和笔记。
Krunker-Hack-十月-2019 此hack对所有人都是免费的
keng_esp_hack 作者:米哈伊尔·雷米佐夫(Mikhail Remizov)又名 keng。 日期:2015 年。语言:C。 所需工具:MinGW、Windows 头文件。这是什么? 这是一个关于游戏黑客和 3D 图形反转的教育项目。 更多关于什么是 ...