两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于FirefoxOS應用的生成方法及裝置的制造方法_2

文檔序號:9929405閱讀:來源:國知局
的公共資源的名稱組成該公共資源的絕對路徑。例如,假設公共接口為source://mylocalsource.0rg/xxx,其中,“xxx”表示具體的公共資源的名稱。假設應用A需要訪問的公共資源的名稱為公共資源A,則該公共資源A的絕對路徑為:source://mylocalsource.0rg/公共資源A。當生成公共資源的絕對路徑之后,將生成的公共資源的絕對路徑存儲在manifest文件【即配置文件】中,這樣,在啟動的應用需要訪問對應的公共資源時,可通過該manifest文件確定公共資源的絕對路徑,進而快速訪問該公共資源。
[0034]具體地,所述解析包括有應用程序啟動需要的文件的引用路徑的元素,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源的步驟具體包括:
[0035]B1、判斷元素的位置是否位于頭元素內(nèi)。
[0036]B2、在元素的位置位于頭元素內(nèi)時,判斷包括所述元素是否沒有包括延遲屬性,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源。
[0037]上述步驟BI?B2中,頭元素可具體為header元素。例如,假設script元素包括有應用程序啟動需要的文件的引用路徑,則判斷該script元素的位置是否位于header元素內(nèi),若位于header元素內(nèi),則繼續(xù)判斷該script元素是否沒有包括延遲(defer)屬性,若沒有包括defer屬性,則判定得到的文件的引用路徑對應的文件為應用程序啟動時必須加載的資源,若包括defer屬性,則判定得到的文件的引用路徑對應的文件不是應用程序啟動時必須加載的資源。
[0038]步驟S13,元素中的引用路徑對應的文件為應用程序啟動時必須加載的資源時,將所述引用路徑對應的文件的內(nèi)容合并為一個文件。
[0039]具體地,在引用路徑對應的文件為應用程序啟動時必須加載的資源時,將引用路徑存入待優(yōu)化數(shù)組保存,之后,繼續(xù)判斷是否解析到應用程序的最后一行源代碼,若不是,則返回步驟S11,否則,按順序讀取待優(yōu)化數(shù)組中存儲的文件的引用路徑對應的文件,并將讀取的文件對應的內(nèi)容寫入對應的閉包(閉包是可以包含自由變量的代碼塊),再將所有的閉包按照待優(yōu)化數(shù)組存儲的文件的引用路徑的順序依次寫入一個文件,以得到一個總的文件。例如,假設待優(yōu)化數(shù)組存儲的文件的引用路徑分別為:source: //mylocalsource.0rg/文件W ; source://mymusic/文件E,將文件W的內(nèi)容寫入閉包Wl,將文件E的內(nèi)容寫入閉包El之后,再依次將Wl、El寫入一個文件。通過該步驟S14,將應用程序啟動時必須加載的所有資源合并為一個文件,實現(xiàn)資源的優(yōu)化,從而在運行應用程序時,只需發(fā)送一次資源請求就能獲取多個資源,減少了資源請求的次數(shù),提高應用程序的啟動速度。當然,在該步驟中,若將多個引用路徑對應的文件的內(nèi)容合并為一個文件,則需要修改html的內(nèi)容,即將文件合并前的源代碼內(nèi)文件名修改為文件合并后的源代碼內(nèi)的文件名,以便應用程序啟動時能夠順利讀取到相應的文件。例如,假設需要合并js文件A、js文件B、js文件C,包括有應用程序啟動需要的文件的引用路徑的元素為script,文件合并前的源代碼為:
[0040]〈script src =,,is/A.js” Xscript〉
[0041 ] 〈script src = ” is/B.js” Xscript〉
[0042]〈script src =,,is/C.js” Xscript〉
[0043]修改為:
[0044]〈script src = ” is/merged_A_B_C.js” Xscript〉。當然,在實際情況中,文件的名稱可為其他名稱,此處不作限定。
[0045]其中,在元素中的引用路徑對應的文件不是應用程序啟動時必須加載的資源時,將引用路徑對應的文件直接打包至生成的新的應用程序包中。由于文件不是應用程序啟動時必須加載的資源,因此,無需對該文件進行整合,以加快應用程序包的生成過程。具體地一個實現(xiàn)過程可參考圖2。
[0046]步驟S14,根據(jù)合并后的文件與獲取的配置文件生成新的應用程序包。
[0047]具體地,將合并后的文件與獲取的配置文件拷貝到準應用程序包中,再利用壓縮工具,如ZIP工具生成新的應用程序包。
[0048]在本發(fā)明第一實施例中,將應用程序啟動時必須加載的資源合并為一個文件,再根據(jù)合并的文件與獲取的配置文件生成新的應用程序包。由于合并為一個文件后,因此在應用程序啟動時只需發(fā)送一次資源請求就能加載合并后文件內(nèi)的所有資源,從而提高了應用程序的啟動速度。并且,由于將公共資源都存放在預設的公共接口,不再將公共資源存入生成的應用程序包內(nèi),因此,節(jié)省了該應用程序包的內(nèi)存占用,且公共資源不同時存在于公共接口和應用程序包中,也減少了資源冗余。
[0049]實施例二:
[0050]圖3示出了本發(fā)明第二實施例提供的一種基于Firefox OS應用的生成裝置的結(jié)構(gòu)圖,該基于Firefox OS應用的生成裝置可應用于移動終端中,在本公開中描述的移動終端包括移動電話、智能電話、膝上型計算機、數(shù)字廣播終端、PDA(個人數(shù)字助理)、PMP(便攜式多媒體播放器)、導航系統(tǒng)等。除了當僅應用于移動終端時,該基于Firefox OS應用的生成裝置還可以應用于諸如數(shù)字電視、臺式計算機等固定終端。為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。
[0051]該基于Firefox OS應用的生成裝置包括:引用路徑獲取單元31、資源屬性判斷單元32、文件內(nèi)容合并單元33、應用包生成單元34。其中:
[0052]引用路徑獲取單元31,用于解析應用程序源代碼html中的元素,以得到引用路徑。所述html中的元素包括有文本引用路徑和應用程序啟動需要的文件的引用路徑。
[0053]在解析應用程序源代碼html中的元素之前,需要從系統(tǒng)源代碼中查找應用程序源代碼。其中,系統(tǒng)源代碼是指整個移動智能系統(tǒng)的源程序和資源,其包括應用程序源代碼和公共資源文件。
[0054]資源屬性判斷單元32,用于在得到的引用路徑?jīng)]有指向所述應用程序源代碼的公共資源時,解析包括有應用程序啟動需要的文件的引用路徑的元素,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源。
[0055]其中,公共資源包括源代碼文件和/或圖片和/或多國字串等。
[0056]優(yōu)選地,該基于Firefox OS應用的生成裝置包括:
[0057]配置文件內(nèi)容增加單元,用于在得到的引用路徑指向所述應用程序源代碼的公共資源時,從引用路徑獲取公共資源的名稱,并將獲取的公共資源的名稱寫入配置文件中,以生成新的配置文件。其中,該配置文件除了存儲有公共資源的名稱外,還包括有文件的權(quán)限等其他參數(shù),然后根據(jù)生成的新的配置文件形成新的應用程序包,進一步地,也可以根據(jù)生成的新的配置文件與資源屬性判斷單元32中元素中的引用路徑對應的文件為應用程序啟動時不必須加載的資源一起形成新的應用程序包。
[0058]優(yōu)選地,該基于Firefox OS應用的生成裝置包括:
[0059]公共資源名稱獲取單元,用于從配置文件中獲取公共資源的名稱。
[0060]公共資源絕對路徑生成單元,用于根據(jù)獲取的公共資源的名稱和預設的公共接口,生成并存儲所述公共資源的絕對路徑。其
當前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鄢陵县| 清远市| 大理市| 龙口市| 天峨县| 隆尧县| 南涧| 苗栗市| 崇礼县| 理塘县| 杂多县| 晋江市| 莆田市| 左云县| 柯坪县| 瓮安县| 克拉玛依市| 米易县| 华亭县| 东莞市| 罗田县| 喀喇| 白玉县| 临沂市| 台中市| 邯郸县| 法库县| 察哈| 丹阳市| 罗平县| 南江县| 银川市| 柯坪县| 苍南县| 金溪县| 宝清县| 巍山| 祁东县| 安仁县| 靖州| 电白县|