`
steely816
  • 浏览: 130082 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用RSL进行AS瘦身编程

    博客分类:
  • as3
阅读更多

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提问吧
呵呵

之前的代码修改了一下
<css .shtml' target='_blank' title = 'div视频教程'>div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: rgb(230,230,230) 0% 50%; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">

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();

        }

    }

}

效果图


很明显,可以看到体积非常小,

分享到:
评论

相关推荐

    OTIS-RSL串行协议

    而第七层,作为应用层,文档中对其进行了描述,包含基本RSL数据格式、CPI-11/New Europa Line (NEL) RSL数据格式、全球美学RSL数据格式等,这些定义了具体的数据通信内容和格式。 7. RSL数据格式: 文档讨论了不同...

    rsl.rar_RSL Matlab_attribute reduction_rsl

    标题中的“rsl.rar_RSL Matlab_attribute reduction_rsl”暗示了这是一个与RSL相关的MATLAB代码库,专注于属性约减技术。RSL通常代表Reduced Set Learning或Relevance Set Learning,这是一种在机器学习和数据挖掘...

    RSL10 射频测试资源

    在本文中,我们将深入探讨"RSL10 射频测试资源"的相关知识点,主要涉及射频技术、蓝牙低功耗(BLE)通信以及RSL10芯片的应用。RSL10是一款高度集成的无线微控制器,专为超低功耗蓝牙应用而设计。其在射频测试中扮演...

    RSL类库文件及说明文档

    Resources Share List.doc可能是一个详细的RSL类库使用说明书,它会涵盖如何初始化RSL库、如何创建和管理资源列表、如何进行资源查找与请求等操作。这份文档对于初次接触RSL库的开发者来说非常宝贵,因为它提供了...

    OTIS-RSL串行协议-中文版

    然而,文档中也提到,某些模块的专门信息可能无法得到,提到的模块或专门信息只是作为例子使用,并不能全面解释特定模块和信息的标准。 在远程串行接口协议标准中,功能分配部分详细说明了界面支持的功能,这些功能...

    RSL FOTA 软件安装包 安卓xapk格式

    一个简单的应用程序,用于演示 onsemi RSL10/RSL15 蓝牙低功耗设备的无线固件 (FOTA)。 RSL10 和 RSL15 是来自 onsemi 的超低功耗蓝牙低功耗无线微控制器。 FOTA 应用程序充当中央设备来扫描、连接固件映像并将其...

    RSL10-SENSE-DB-GEVB_GERBER_hardware_rsl10_castcpf_

    【RSL10-SENSE-DB-GEVB_GERBER_hardware_rsl10_castcpf】这个压缩包文件主要涉及的是基于RSL10芯片的传感器开发板(RSL10-SENSE-DB)的硬件设计资料,其中包含了GERBER文件。RSL10是一款由ON Semiconductor公司生产...

    OTIS-RSL远程串行接口协议标准大全.PDF

    OTIS-RSL远程串行接口协议标准大全.PDF

    RSL15DOCUMENTATIONPACKAGE.ZIP

    这个压缩包提供了全面的技术文档,帮助用户和开发者理解并有效地利用RSL15芯片进行产品设计和开发。从提供的文件名来看,我们可以预见到其中包含的主要内容有以下几个方面: 1. **RSL15_documentation.htm**:这...

    避免Flex RSL重复load 提高module加载性能的swc

    总结来说,避免Flex RSL重复加载的关键在于合理使用SWC进行模块化开发,通过预加载策略和多模块架构优化加载性能。通过这些方法,可以有效地减少网络传输的负担,提高应用程序的启动速度和整体运行效率,为用户提供...

    OTIS-RSL串行协议-中文版.pdf

    OTIS-RSL串行协议-中文版。 文档描述了远程串行接口协议标准在奥地斯电梯系统中的应用,该文档在使 用远程串行接口协议标准进行通讯的建模过程提供了参考。对于多个模块的标准 接口定义有参考作用,但是获取不了...

    RSL5K_V19.00_Core

    RSL5K_V19.00_Core 用于程序开发,编程。

    RSL10蓝牙单芯片(SoC) 安森美半导体.pdf

    RSL10的双核架构基于用户可编程的ARM Cortex-M3处理器,能够提供最高达48MHz的时钟速度,并支持2.4GHz专有协议栈的灵活性。该SoC还集成了超低功耗的32位Dual Harvard数字信号处理(DSP)系统,使得它能够支持信号处理...

    AB PLC RSL5KV11_V12_13-17.rar

    AB PLC RSL5KV11_V12_13-17rar,AB PLC RSL5KV11_V12_13-17

    rsl.error.0000

    rsl.error

    施耐德继电器Zelio Relay RSL薄片式.pdf

    施耐德继电器Zelio Relay RSL薄片式pdf,施耐德继电器Zelio Relay RSL薄片式:RSL 薄片式继电器拥有紧凑的外观和模块化设计的优点:纤薄的宽度(6mm)在控制柜导轨上安装时节省了空间。

    Flex__as__面试题.doc

    在Flex开发中,ActionScript(AS)是主要的编程语言,而AS2和AS3是两个重要的版本。AS2与AS3的主要区别在于它们的基础架构和特性。AS2基于ActionScript Virtual Machine 1 (AVM1),而AS3则基于AVM2,后者提供了显著...

    RSL10 Sensor Beacon软件 安卓apk

    It supports all available On Semiconductor Beacon platforms RSL10 Coin, RSL10 SOLARsens, SECO-RSL10-TAG and more … RSL10 is the industry’s lowest power Bluetooth 5 certified, multi-protocol SoC ...

    RSL 的无滞后逆费舍尔变换 - MetaTrader 5脚本.zip

    在金融交易领域,MetaTrader 5(MT5)是一个广泛使用的交易平台,它为交易者提供了进行外汇、股票、期货等市场交易的能力。该平台支持自定义指标和算法交易,允许用户编写自己的脚本来分析市场数据和执行自动化策略...

    RUGGEDCOM RSL910 ROS v5.0 User Guide[手册].pdf

    用户在使用RSL910设备前,应当仔细阅读手册的各个部分,尤其是版权、商标、安全等声明内容,以确保合法、安全地使用设备。在进行设备管理、系统配置等操作时,用户应当遵循手册中的指导建议,以保证设备的正常运行及...

Global site tag (gtag.js) - Google Analytics