- 浏览: 590091 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 1347转:http://www.lite3.cn/blog/?p= ... -
TextField没有buttonMode的方法..
2010-12-10 16:28 2346TextField没有buttonMode的方法..不过由于T ... -
ActionScript 处理html超级链接
2010-12-09 11:14 2163ActionScript 处理html超级链接 p ... -
通过代理传参数
2010-07-02 11:43 1490通过代理传参数 package com.xlands.uti ... -
ArrayUtils
2010-07-02 11:36 1556/* Copyright aswing.org, s ... -
将数组随机排序后返回
2010-06-30 16:40 1853将数组随机排序后返回 方法一 /** * ... -
AS类中跳转
2010-06-29 10:22 1837AS类中跳转 navigate ... -
Flash与Javascript交互时可用ExternalInterface类
2010-06-29 10:17 3680Flash与Javascript交互时可用ExternalIn ... -
Flash中所支持的Html标签
2010-06-24 17:21 1410Flash中所支持的Html标签 ... -
navigateToURL()
2010-06-22 15:27 2529navigateToURL() public fun ... -
ActionScript中Http请求
2010-06-19 09:42 3175ActionScript中Http请求 因我是用MVC模式来 ... -
ActionScript字符串工具
2010-06-04 09:44 3297ActionScript字符串工具 package c ... -
加载外部SWF文件
2010-05-22 15:43 1407加载外部SWF文件 package mytest.dt { ... -
AsWing+Java上传文件
2010-05-11 09:16 1783AsWing+Java上传文件 UI是用AsWing实现比较 ... -
A*最最基础的非常非常好的寻路教程!
2010-05-08 10:01 2079最最基础的非常非常好 ... -
JTable单元格偏移
2010-05-07 11:15 1386如果Frame中有个表格JTable,且允许双击单元格编辑,那 ... -
ActionScript中日期正则表达式
2010-04-27 18:24 1307这里是判断YYYY-MM-DD这种格式的,基本上把闰年和 ... -
AS中使用JSON
2010-04-26 09:15 3026要使用json作为数据交换格式。需引入corelib Acti ... -
invalidateDisplayList
2010-03-31 14:39 1950当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便 ... -
自定义组件XPropertyTable
2010-03-13 12:56 1648这个是基于AsWing组件库实现的 主要是对JTable和P ...
相关推荐
### CSS Hack 技术详解及应用 #### 一、引言 随着互联网技术的发展,Web前端开发变得越来越重要。然而,在实际开发过程中,一个不容忽视的问题便是**跨浏览器兼容性**。由于不同浏览器(包括同一浏览器的不同版本...
一旦找到泄露,GitHack会下载相关信息,并执行还原过程。还原出的源代码可以用来进一步分析目标系统,寻找可能的安全问题,例如SQL注入、跨站脚本(XSS)或其他代码漏洞。 对于网络安全研究者来说,GitHack是一个有...
6. **依赖关系分析**:GitHack能分析项目所依赖的其他库,帮助用户了解项目的技术栈,追踪依赖更新,预防因依赖问题引发的兼容性或安全问题。 7. **活动监控**:GitHack可能提供对仓库活动的实时监控,包括新提交、...
Google_Hack技术_搜索技术
GitHack 是一个针对 `.git` 目录泄露的利用工具,它可以帮助安全研究人员或渗透测试者还原被公开的 `.git` 目录中的历史版本信息。`.git` 目录是 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 测试题 基本防HACK安全技术测试
利用Google的语法我们可以做很多的事情,2006年的时候网络上出现了几件大事,比较出名的有“魔兽铜须事件”,很多黑客就是利用Google Hack技术找到了铜须的QQ号码、MSN、邮件地址等个人信息。目前黑客利用Google ...
平台上有丰富的学习材料,包括文章、教程和论坛讨论,帮助用户理解各种网络安全概念和技术。 用户可以分享自己的“write-up”,即解决问题的步骤和技巧,这有助于社区成员之间的知识共享。 排行榜和成就系统: 解决...
平台上有丰富的学习材料,包括文章、教程和论坛讨论,帮助用户理解各种网络安全概念和技术。 用户可以分享自己的“write-up”,即解决问题的步骤和技巧,这有助于社区成员之间的知识共享。 排行榜和成就系统: 解决...
执行相关的Python脚本(通常为`python GitHack.py`或`python3 GitHack.py`),按照提示操作即可开始分析和利用`.git`目录。 总的来说,GitHack-master是保障Git项目安全的重要辅助工具,通过对`.git`目录的分析,...
**vim-hack:用于Hack的语法突出显示和typechecker集成** `vim-hack` 是一个专为 Hack 语言设计的 Vim 插件,它提供了针对 Hack 语言的语法高亮和类型检查器集成,旨在提升程序员在 Vim 编辑器中的开发体验。Hack ...
explorer_poc 一个新的Flutter应用程序。 入门 该项目是Flutter应用程序的起点。 如果这是您的第一个Flutter项目,那么有一些资源可以帮助您入门: 要获得Flutter入门方面的帮助,请查看我们的,其中提供了教程,...
【标题】"scrapbook-frens::handshake:查找Hack Clubbers的朋友,改编自@sampoder的Fetch a Hack Clubber工作坊!" 这个项目是一个基于JavaScript的互动应用,旨在帮助用户查找并连接“Hack Clubbers”——即参与...
HAS :HACK应用程序套件 除非文件顶部另有说明,否则HAS已获得MIT许可(请参阅LICENSE文件)。 关于 HACK Application Suite是一个库和程序,用于处理与HACK CPU和指令集以及JACK编程语言有关的各种任务。 HAS当前...
本话题主要关注的是"Hack Lang"和"HHVM"这两个技术,它们是Facebook开发的用于提升PHP性能的创新工具。接下来,我们将深入探讨这两者及其相关的资源,以及如何利用它们进行项目优化。 **Hack Lang** 是一种静态类型...
AutoexecHack #注意: 该存储库已被弃用。 但是乐趣还没有结束。 请访问以下存储库: -康拉德。
TryHackMe-Writeups:TRY HACK ME的PDF文件