国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用

開發(fā) 后端
本文向大家簡(jiǎn)單介紹一下Flex客戶端緩存的概念,flash或者Flex客戶端的緩存,并不是指瀏覽器的緩存,瀏覽器的緩存在一定時(shí)間后會(huì)過期。

本文和大家重點(diǎn)討論一下Flex客戶端緩存moduleswf的使用,F(xiàn)lex使用RSL技術(shù),可以解決框架的緩存與共享,很大程度的解決了加載問題。

Flex客戶端緩存moduleswf

flash或者Flex客戶端的緩存,并不是指瀏覽器的緩存,瀏覽器的緩存在一定時(shí)間后會(huì)過期,先作此聲明。
使用Flex或者flash開發(fā)出來的網(wǎng)站最大的問題就是swf文件過大,國(guó)內(nèi)網(wǎng)速有限,導(dǎo)致加載時(shí)間過長(zhǎng),這樣會(huì)丟失很多潛在的客戶。

Flex使用RSL技術(shù),可以解決框架的緩存與共享,很大程度的解決了加載問題。但是如果項(xiàng)目過大,還是會(huì)導(dǎo)致加載時(shí)間很長(zhǎng)這個(gè)問題。我使用了SharedObject進(jìn)行客戶端的SWF與Module的緩存,并進(jìn)行版本控制。在服務(wù)器端做一個(gè)配置文件,有Flex客戶端緩存過數(shù)據(jù),則進(jìn)行版本控制,達(dá)到客戶端數(shù)據(jù)與服務(wù)器端數(shù)據(jù)保持一樣。
例子:
假設(shè)現(xiàn)在有個(gè)Application的項(xiàng)目,生成的Application.swf文件是2028K,客戶端的下載速度是100k/s,則差不多需要使用20秒的時(shí)間。現(xiàn)在將Application中的部分源碼抽出來,使用Module機(jī)制,變成Application.swf428K,Module1.swf1000K,Module2.swf600K。不使用緩存的話,完整的加載完Application還是需要差不多20秒時(shí)間,若使用緩存,將Module1.swf與Module2.swf緩存在客戶端,則只需要加載Application.swf的428K,差不多4秒時(shí)間,加上Moduel的讀取2秒時(shí)間,最多也就6-7秒時(shí)間。效率很明顯。而且還可以緩存其他的亂七八糟的東西,例如皮膚.swf,圖片資源.swf等等.如果有跳轉(zhuǎn)頁面的話,還可以將Application.swf也進(jìn)行緩存。

問題:

如果遇到不允許Flex客戶端緩存,則跳過緩存,無礙程序的加載和運(yùn)行。
如果一個(gè)用戶,多次的打開本網(wǎng)站,說明對(duì)本網(wǎng)站有了一定的興趣,在多次被詢問是否允許緩存后,點(diǎn)擊允許的可能性也加大。
當(dāng)用戶能夠清楚的了解到緩存的好處時(shí),允許緩存,一.可以加速用戶體驗(yàn),二.可以降低服務(wù)器壓力,三.可以降低服務(wù)器帶寬的使用。
文章最后有一個(gè)Demo供下載測(cè)試使用,源代碼暫時(shí)打包成SWC,未開放出來。
下面將解釋一下如何使用WarmC.swc:
配置文件’Cache_config.xml’

  1. <dataiddataid="moduleOne"version="beta01"/> 
  2.  <dataiddataid="moduleTwo"version="beta01"/> 
  3.  <dataiddataid="mySwf"version="beta01"/> 


◆當(dāng)然,配置文件的路徑,和名字可以由你任取,但需要在版本控制時(shí)指定路徑,下面將介紹如何啟動(dòng)版本控制
◆id屬性,標(biāo)記這個(gè)緩存的名字,將會(huì)在全局使用,包括緩存的SharedObject名稱,以及版本控制,下面讀取緩存時(shí)將會(huì)使用到這個(gè)id
◆version版本控制,隨你起名稱。但是為了確保不會(huì)與以前的版本混淆,推薦最好還是使用遞增的版本名稱
首先必須在緩存的使用之前先啟動(dòng)版本控制,需要導(dǎo)入以下包:

  1. importWarmC.Cache.LocationDataProxy; 

然后啟動(dòng)版本控制:

LocationDataProxy.getInstance().CacheReBuild(0.5);
CacheReBuild(size:int,configUrl:String)方法使用說明:
◆size參數(shù),指定緩存的總大小,單位為兆(M),不填則默認(rèn)為1M即運(yùn)行到這個(gè)地方時(shí),就會(huì)判斷客戶端的SharedObject允許緩存大小,再提示用戶修改緩存最大值設(shè)置如果你需要緩存的數(shù)據(jù)較大,則可對(duì)應(yīng)取下面的值
size<=0不提示,或者默認(rèn)客戶端的100Kb
01<=size<10緩存10Mb以內(nèi)的數(shù)據(jù)
10<=size緩存無限大的數(shù)據(jù)
例如:你需要緩存的文件總大小為700K,你可以設(shè)置size=0.7,這樣子,就會(huì)在啟動(dòng)版本控制的是很對(duì)用戶進(jìn)行詢問,而且保證用戶同意緩存以后不會(huì)再次詢問
◆configUrl,是指配置文件XML地址,默認(rèn)是在根目錄'Cache_config.xml',必須指定,并且配置文件格式必須與Demo格式一致
◆當(dāng)配置文件正確無誤時(shí),版本控制啟動(dòng)成功,會(huì)讀取服務(wù)器端配置,與Flex客戶端緩存進(jìn)行版本比較。版本不同的話,將Flex客戶端緩存刪除。如果版本控制啟動(dòng)失敗,會(huì)導(dǎo)致客戶端的緩存與服務(wù)器端的緩存無法同步。


設(shè)置緩存人性化功能

LocationDataProxy.getInstance().Warm_Human(true);
Warm_Human(bool:Boolean)說明:
◆FlashPlayer的SharedObject,在使用超過客戶端的設(shè)置大小后,就會(huì)提示用戶,并征求其意見,是否同意網(wǎng)站的緩存
◆如果,在系統(tǒng)需要緩存多個(gè)數(shù)據(jù)時(shí),而且用戶拒絕了緩存,系統(tǒng)將會(huì)在每次需要寫入SharedObject時(shí),都進(jìn)行詢問是否允許緩存,這樣的用戶體驗(yàn)十分糟糕。
◆當(dāng)設(shè)置Warm_Huma為true時(shí),在第一次提示用戶是否允許程序緩存改大小后,如果用戶拒絕了,以后的緩存將不會(huì)再提示,也不會(huì)再在Flex客戶端緩存,直到用戶再次運(yùn)行此程序(,雖然是有點(diǎn)煩人,但嫌麻煩,多數(shù)人不會(huì)在意那幾M的空間,而點(diǎn)了允許)
◆false,不管用戶是否拒絕,每次需要增大緩存區(qū)大小時(shí),都會(huì)提示用戶
◆不使用該方法,默認(rèn)為true。所以這個(gè)方法很少用到。
確保版本控制啟動(dòng)成功后,可以進(jìn)行module加載,先導(dǎo)入以下包:

  1. importWarmC.Cache.ModuleCacheProxy; 

加載module

  1. ModuleCacheProxy.getInstance().load("moduleOne","ModuleOne.swf",onProgress,onReady);  
  2. functiononProgress(bytesLoaded:uint,bytesTotal:uint):void{  
  3.  trace(">加載ModuleOne:"+bytesLoaded+"/"+bytesTotal);  
  4. }  
  5. functiononReady(data:Object):void{  
  6.  trace(">ModuleOne加載完成!");  
  7.  Application.application.addChild(dataasUIComponent);  
  8. }  

◆load(name:String,url:String,onProgress:Function,onReady:Function)說明:
◆name,指的是Module在配置文件Cache_config文件中的ID,此處必須與配置文件一致。用于版本控制,以及
客戶端的緩存文件名,通過name獲取SharedObject
◆url,指的是Module的Swf文件路徑,Demo的Module文件均在根目錄,所以直接指定名稱
◆onProgress,指加載Module時(shí)的進(jìn)度回調(diào)方法,傳回兩個(gè)參數(shù),bytesLoaded與bytesTotal,若需要顯示進(jìn)度條,則這個(gè)方法是必備的。如果緩存不存在,則bytesLoaded與bytesTotal會(huì)是從服務(wù)器端加載數(shù)據(jù)的值;
如果緩存已經(jīng)存在,則該方法只調(diào)用一次,而且兩個(gè)回傳參數(shù)均是100
◆onReady,指加載完成后的回調(diào)方法,傳回一個(gè)UIComponent類型的參數(shù)data
◆代理器使用了餓漢單例模式,檢測(cè)module是否已經(jīng)緩存在客戶端。
◆如果已經(jīng)緩存在客戶端,則直接讀取
◆否則,從服務(wù)器端加載,顯示,再緩存到客戶端,打上版本。

◆加載SWF(非module),需導(dǎo)入以下包:

  1. importWarmC.Cache.SwfCacheProxy; 

加載SWF:

  1. SwfCacheProxy.getInstance().load("mySwf","test.swf",onProgress,onReady);  
  2. functiononProgress(bytesLoaded:uint,bytesTotal:uint):void{  
  3.  trace(">加載SWF:"+bytesLoaded+"/"+bytesTotal);  
  4. }  
  5. functiononReady(data:Object):void{  
  6.  trace(">SWF加載完成!");  
  7.  varload:Loader=newLoader()  
  8.  load.loadBytes(dataasByteArray);  
  9.  varuic:UIComponent=newUIComponent();  
  10.  uic.addChild(load);  
  11.  Application.application.addChild(uic);  

◆load(name:String,url:String,onProgress:Function,onReady:Function)說明:
◆屬性作用與ModuleCacheProxy一樣
◆唯一不同點(diǎn),onReady方法的回傳參數(shù)為一個(gè)ByteArray,需要自己進(jìn)行包裝目前使用起來就是這樣。你可以使用SwfCacheProxy來緩存皮膚Style.swf,游戲插件,圖片資源等等Swf數(shù)據(jù)。
在例子中,有個(gè)“加載Module2”:

  1. privatefunctionloadModule2():void{  
  2.  ModuleCacheProxy.getInstance().load("moduleTwo","ModuleTwo.swf",onProgress,onReady);  
  3.  ModuleCacheProxy.getInstance().load("moduleTwo","ModuleTwo.swf",onProgress,onReady);  
  4.  functiononProgress(bytesLoaded:uint,bytesTotal:uint):void{  
  5.   trace(">加載ModuleTwo:"+bytesLoaded+"/"+bytesTotal);  
  6.  }  
  7.  functiononReady(data:Object):void{  
  8.   trace(">ModuleTwo加載完成!");  
  9.  Application.application.addChild(dataasUIComponent);  
  10.  }  
  11. }  

細(xì)心點(diǎn),你就會(huì)發(fā)現(xiàn),moduleTwo.swf使用ModuleCacheProxy加載了兩次。嗯,這是為了演示一下,如果在一個(gè)swf還未加載完畢,再將他加載一遍,就會(huì)被拒絕。如果你想一次性將一個(gè)SWF加載多次(也可以說Copy多個(gè)Swf),將會(huì)遭到拒絕,你可以一個(gè)一個(gè)慢慢加載,在onReady方法里面加載。或者根本可以不用使用加載,直接使用復(fù)制,如何復(fù)制,自己去google啦。
這樣可以避免一點(diǎn),加載緩存時(shí)很卡。

轉(zhuǎn)載請(qǐng)注明:出自FlexHome原文鏈接:http://Flex.desizen.com/Flex-client-cache/

【編輯推薦】

  1. 解析FlexSDK4的十大變化
  2. Flex必須了解的那些事
  3. 在Flex中使用樣式的五大方法
  4. FlexBuilder3.0與Eclipse3.4的完美結(jié)合
  5. Flex ComboBox和Datagrid組件用法指導(dǎo)
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-29 17:26:54

Flex富客戶端技術(shù)

2010-08-09 09:09:43

Flex技術(shù)

2010-08-10 15:55:20

FlexHTML頁面

2010-07-30 15:35:11

Flex結(jié)合

2010-08-10 15:38:32

Flex2.0

2010-08-09 12:59:15

Flex4beta

2010-09-27 15:26:17

JVM for Lin

2010-06-30 16:52:23

UML數(shù)據(jù)建模

2010-07-28 16:16:57

Flex富客戶端

2010-08-09 13:05:24

Flex4beta

2010-08-11 12:50:04

Flex4

2010-05-19 11:07:49

TortoiseSVN

2014-08-08 15:36:39

Apdex

2009-07-21 13:03:06

桌面虛擬化虛擬PC數(shù)據(jù)中心

2010-08-06 14:58:42

FlexAIR

2015-06-03 09:27:05

JavaScript客戶端檢測(cè)技術(shù)

2010-08-10 13:04:27

FlexBuilder

2010-07-29 08:53:24

Flex客戶端

2013-01-10 10:04:53

離線VDI客戶端hypervis

2017-04-06 15:40:31

客戶端數(shù)據(jù)存儲(chǔ)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品一区二区三区av麻| 国产精品污网站| 青草热久免费精品视频| 免费在线观看黄| 亚洲国产一区二区视频| 成人影院一区二区三区| 久久精品欧美日韩| 日本欧美黄色片| 国产精品一区二区男女羞羞无遮挡| 精品国产免费久久久久久尖叫 | 亚洲第一影院| 欧美mv日韩mv国产网站app| 91美女视频在线| 欧美色爱综合网| youjizz在线播放| 欧美撒尿777hd撒尿| 最新亚洲人成网站在线观看| 亚洲一区二区三区四区在线免费观看 | 国产精品迅雷| 亚洲精品成人久久| 色多多在线观看| 一区二区三区无码高清视频| 欧美大片免费| 九九热最新视频//这里只有精品| 综合激情网...| 日韩av黄色在线观看| 日韩一区欧美| 国产在线视频欧美一区二区三区| 噜噜噜久久亚洲精品国产品小说| 亚洲精品一区二区三| 国产成人久久精品77777最新版本| 日本十八禁视频无遮挡| 国产精品免费看片| 亚洲天堂2017| 日韩三级视频在线看| 性爽视频在线| 国内精品久久久| 久久精品av| 精品国产一二| 国产一区二区三区四区五区入口| 欧美日本视频在线观看| 国产精品国产成人国产三级 | 91久久极品少妇xxxxⅹ软件| 国产美女诱惑一区二区| 免费久久久久久| 国产亚洲污的网站| 在线免费av观看| 日韩三级视频在线看| 国产原创一区| 国产日韩欧美91| 日韩国产高清影视| 美女网站免费观看视频| 色综合网色综合| 91视频欧美| 久久久久久91香蕉国产| 亚洲国产一成人久久精品| 蜜桃视频在线观看91| 国产一区美女在线| 国产三级视频| 日韩一级成人av| 6080成人| 久久av免费观看| 91蜜桃视频在线| 四虎成人免费在线| 亚洲天堂免费在线| 国产一区二区精品久| 精品91一区二区三区| 一片黄亚洲嫩模| yellow91字幕网在线| 国内精品400部情侣激情| 亚洲毛片一区| 日韩在线第三页| 欧美疯狂性受xxxxx喷水图片| 亚瑟国产精品| 5566中文字幕一区二区| 91丝袜美腿高跟国产极品老师| 福利片在线看| 欧美精品videosex极品1| 黄色免费成人| 欧美综合在线观看视频| 91精品婷婷国产综合久久性色| 日韩免费精品| 一级二级三级欧美| 欧美性极品xxxx娇小| av日韩久久| 日韩在线三区| 欧美日韩亚洲国产一区| 亚洲视频国产精品| 亚洲高清视频一区| 色综合久久综合网欧美综合网 | 精品国产3级a| 日韩电影免费网址| 毛片在线播放视频| 91精品国产综合久久精品图片| 女人抽搐喷水高潮国产精品| 日韩欧美精品免费| 日韩免费性生活视频播放| 国产国产精品| av一级二级| 欧美不卡视频一区发布| 国产一区二区三区视频在线播放| h视频在线免费| 国产精品中文字幕在线| 91丨porny丨国产| 亚洲插插视频| 日韩欧美一区二区在线观看 | 亚洲欧美一区二区激情| 亚洲美女一区| 青青草在线视频免费观看| 欧美激情国产日韩精品一区18| 国产一区在线观看麻豆| 91最新在线视频| 国产一区再线| 欧美在线观看视频一区二区三区| 久久国产亚洲精品| 在线看你懂得| 国产伊人精品在线| 亚洲五码中文字幕| 日韩免费av| 作爱视频免费观看视频在线播放激情网| 欧美精品999| 欧美激情一区二区三区在线| 中文字幕综合| 免费观看成人网| 欧美放荡办公室videos4k| www.久久精品| 成人mm视频在线观看| 欧美一级片免费播放| 亚洲性无码av在线| 国产乱理伦片在线观看夜一区| 美洲精品一卡2卡三卡4卡四卡| 精品视频免费观看| 91超碰这里只有精品国产| 亚欧美中日韩视频| 神马午夜伦理不卡| 精品国产无码在线| 亚洲欧美视频在线| 97久久人人超碰| 69精品国产久热在线观看| 四虎av网址| 国产精品国产亚洲伊人久久 | av最新地址| 国产精品久久久久久久久久久久久久| 亚洲欧洲无码一区二区三区| 老司机成人在线| 丰满少妇又爽又紧又丰满69| 国产成人精品免费视频| 精品久久久久久久久久久久久| 一区二区三区网站| 欧洲日本在线| 亚洲免费在线精品一区| 亚洲午夜国产成人av电影男同| av高清久久久| 欧美人妖在线| 国产理论在线观看| 欧美一级免费播放| 日本高清久久天堂| 88在线观看91蜜桃国自产| 国产美女精品一区二区三区| 成人在线啊v| 两个人看的免费完整在线观看| 精品视频一区二区三区四区| 亚洲久久久久久久久久| 国产日韩一级二级三级| 99久久久久| 2018av在线| 中文字幕免费中文| 久久久久久亚洲精品不卡4k岛国| 亚洲欧美www| 日韩毛片视频在线看| 中文字幕午夜精品一区二区三区| 在线观看小视频| 欧美女人性生活视频| 国产日韩欧美日韩大片| 欧美成人精精品一区二区频| 国产亚洲污的网站| 欧美国产三区| 91国内外精品自在线播放| 成人在线小说| 韩国黄色一级大片| 国产精品情侣自拍| 日韩精品免费综合视频在线播放| 国产精品久久久久久久浪潮网站| 在线播放一区| 伊人精品久久| caoporn免费在线视频| 一区二区三区 日韩| 欧美日韩一区二区三区在线视频| 欧美激情三级免费| 日韩一区二区三区精品视频| 欧美国产精品中文字幕| 国产手机视频一区二区| 欧美日韩一本| 美女一区网站| 亚洲高清福利| 国产精品少妇在线视频| 日本成人黄色| 国产精品视频不卡| 精品国模在线视频| 欧美一区二区三区四区高清|