使用RSL进行AS瘦身编程

本文介绍如何使用RSL(Runtime Shared Library)技术减少AS3应用程序的体积。通过将重复使用的类库打包成独立的SWF文件并在运行时动态加载,有效避免了类库在多个SWF文件中的重复编译,显著减小了最终产品的体积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[AS3]使用RSL进行AS瘦身编程 来源:弃天笑(soda.C)的专栏作者:弃天笑 2008-05-12 【大 中小】

RSL是什么??RSL是 Runtime Shared Library的简称。我个人的理解时是在swf编译的时候,不把在该swf中使用的一些类库 编译进swf中去,而是在该swf运行的时候动态加载,该swf是要使用的类库,从而达到减小swf体积的目的。 做as编程的人都知道,如果每个swf都引用了同一个类的话,那么你编译每个swf的时候,都会把那个类编译进去,也是就是说,无形中对整个应用而言,就多了几份类库而增大了内容 例 如你有 a.swf,b.swf,c.swf,同时引用了sodaTest.as这个类,传统的做法是每个swf都把sodaTest编译进去。而使用 RSL技术的话,则把sodaTest.as这个类编译进一个特殊的swf进去(lib.swf,该swf包含sodaTest),在a,b,c运行的时 候,把lib.swf这个swf加载进去就可以了。三个swf共享一个,从而减小了体积 下面,看具体的设置步骤吧(下面提供的方法只是多种方法的其中之一:),使用工具是FlexBuilder,以asiwng代码库为例子

首先我们需要制作一个被多个swf需要加载swf代码库 1.把需要的代码打包进一个swf里去,该步骤前需要一个你需要打包进代码库的swc (可以在FB中建立一个Flex Library Project,利用把你需要的代码生成swc) 新建个Flex Library Project为Aswing

2.新建一个AswingDll的ActionScript Project项目 新建个AswingDll

3.接着在AswingDll项目属性中,增加命令,在ActionScprit Compiler 增加下面的命令 -include-libraries E:/workspace/FlexProject/Aswing/bin 其中E:/workspace/FlexProject/Aswing/bin是你需要做加载的代码库的swc的目录位置 (我这里是用我自己设置的目录去生成,而不是在flex中刚建立的)

4.接着编译就行了.....看生成AswingDll,用破解软件看看,是不是多了你需要的代码了:),大小有400多K,包括了awing的代码了

5.接着新建一个AswingTest的ActionScript Project项目,用来使用这个AswingDll 在AswingTest这个项目属性还需要做一些设置的,在Library Path中,添加aswing代码库或者aswing的swc

看图片中蓝色的部分,双击它,弹出下面的界面,选择Exteral这个选项,再确定就可以了

做完这些步骤后,就可以去编译自己的程序啦

具体的我就先不写了,可以参考www.flashdll.org,里面有详细的例子 (明天我再出一个使用例子) 有什么问题,就到www.actionscript3.cn提问吧 呵呵

之前的代码修改了一下 package ...{     import flash.display.Sprite;     import flash.display.Loader;        import flash.events.Event;     import flash.system.LoaderContext;     import flash.net.URLRequest;     import flash.system.ApplicationDomain;     import flash.utils.getDefinitionByName;

    import org.aswing.AsWingManager;     import org.aswing.JFrame;         [SWF (width=800, height=600)]         public class Main extends Sprite     ...{         private var loader:Loader;         public function Main()         ...{             loader = new Loader();             loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader);             loader.load(new URLRequest("dll/AsWingDLL_1_3_0.swf"),                     new LoaderContext(false, ApplicationDomain.currentDomain));         }                 private function onLoader(event:Event):void         ...{             AsWingManager.initAsStandard(this);             var frame:JFrame = new JFrame(this,"测试反射");             frame.setSizeWH(400,300);             frame.show();

        }     } }效果图

很明显,可以看到体积非常小, 文章来自: 闪客居(www.flashas.net) 详文参考:http://www.flashas.net/html/flashas/aschuji/AS_3_0/20080512/3071.html

还在为数据库管理、代码开发和系统优化的繁杂任务焦头烂额?这款软件就是你翘首以盼的 “开发界瑞士军刀”,全方位赋能,让开发工作事半功倍! 1.数据库深度管理,掌控全局 当数据库遭遇死锁,它能快速定位并提供详尽死锁信息,助你秒解危机;实时监控数据库链接状态、用户情况、端口号等,就像给数据库安装了 “健康监测仪”。从设置最大连接数、把控连接超时,到获取服务器 CPU、磁盘等硬件信息,再到内存、缓存、数据库大小的精细化管理,无论是基础查看,还是清理、收缩、优化等操作,都能轻松完成,让数据库时刻保持最佳性能状态。 2.代码开发神器,效率飙升 无需从零开始编写代码,无论是 netframework 经典三层架构,还是 netcore 的经典代码,甚至是高并发 api 接口代码,都能一键自动生成,大幅缩短开发周期。针对 SQL,它提供耗时优化策略,精准定位低效代码,还能保障事务安全回滚,避免数据错误。json 格式化、数据库连接字符串强优化,每一个细节都为提升开发效率而设计。 3.全栈优化专家,性能拉满 不仅专注后端,对 web 前端也能进行 css、js、html 压缩优化,减小页面加载压力,提升用户体验;在服务器端,深入研究安全防护,优化应用程序与缓存,构建牢不可破的安全防线。同时,它还是版权保护卫士,从图片到代码,为你的创意成果保驾护航,杜绝侵权风险。 4.智能解析,便捷高效 面对二维码、条形码,轻松实现解析,助力开发更多实用功能,满足多样化业务需求。 开发之路道阻且长,但有了这款软件,复杂难题迎刃而解,高效开发触手可及!快来体验,开启你的开发新纪元,让每一行代码都都迸发无限可能!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值