国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

快應(yīng)用 分包加載

2020-08-10 10:59 更新

當(dāng)快應(yīng)用體積較大時(shí),可以使用快應(yīng)用的分包加載功能。

簡(jiǎn)單來(lái)說(shuō),就是將項(xiàng)目中的所有頁(yè)面及資源通過(guò)配置規(guī)則劃分到多個(gè)單獨(dú)的分包文件中,運(yùn)行時(shí)單獨(dú)下載,加快頁(yè)面渲染。

分包加載的能力首先依賴(lài)于編譯時(shí)工具,根據(jù)開(kāi)發(fā)者在 manifest.json 中配置的 subpackages 規(guī)則,將項(xiàng)目打包成多個(gè)分包。

這些分包包含一個(gè)基礎(chǔ)包和若干個(gè)分包,基礎(chǔ)包內(nèi)容包含一些公共的資源、頁(yè)面等內(nèi)容,而分包內(nèi)容則是根據(jù)開(kāi)發(fā)者的配置資源目錄進(jìn)行劃分。

其次運(yùn)行時(shí),快應(yīng)用將優(yōu)先加載基礎(chǔ)包和頁(yè)面所在分包,其余分包會(huì)自動(dòng)在后臺(tái)進(jìn)行預(yù)加載。

目前快應(yīng)用分包大小有以下限制:

  • 整個(gè)快應(yīng)用的所有分包大小不超過(guò) 4M
  • 單個(gè)分包/基礎(chǔ)包大小不能超過(guò) 1M

對(duì)快應(yīng)用進(jìn)行分包,可以?xún)?yōu)化快應(yīng)用首次啟動(dòng)的加載時(shí)間,以及更好的管理和解耦各個(gè)模塊功能。

為達(dá)到最佳的分包效果,可以參考以下建議進(jìn)行分包配置:

  • 首頁(yè)建議保留在基礎(chǔ)包中
  • 業(yè)務(wù)邏輯上密切相關(guān)的頁(yè)面配置在同一個(gè)分包中
  • 基礎(chǔ)包放置公共資源,單個(gè)分包獨(dú)有的資源放置到分包中,以減小基礎(chǔ)包大小

配置方法

假設(shè)應(yīng)用根目錄文件組織如下:

├── manifest.json
├── app.ux
├── Hello
│   ├── hello.ux
├── PackageA
│   ├── Page1
│   │   └──page1.ux
│   ├── Page2
│   │   └──page2.ux
├── PackageB
│   ├── Page3
│   │   └──page3.ux
│   ├── Page4
│   │   └──page4.ux
└── Common
    ├── ComponentA.ux
    ├── ComponentB.ux
    └── xxx.png

開(kāi)發(fā)者可以在manifest.json subpackages 字段中聲明項(xiàng)目分包結(jié)構(gòu):

{
  "package": "com.company.unit",
  "name": "appName",
  "icon": "/Common/icon.png",
  "versionName": "1.0",
  "versionCode": 1,
  "minPlatformVersion": 1000,
  "features": [{ "name": "system.network" }],
  "permissions": [{ "origin": "*" }],
  "config": {
    "logLevel": "off"
  },
  "router": {
    "entry": "Hello",
    "pages": {
      "Hello": {
        "component": "hello"
      },
      "PackageA/Page1": {
        "component": "page1"
      },
      "PackageA/Page2": {
        "component": "page2"
      },
      "PackageB/Page3": {
        "component": "page3"
      },
      "PackageB/Page4": {
        "component": "page4"
      }
    }
  },
  "subpackages": [
    {
      "name": "pkgA",
      "resource": "PackageA"
    },
    {
      "name": "pkgB",
      "resource": "PackageB"
    }
  ]
}

subpackages 的具體配置,詳見(jiàn) manifest 文件

打包原則

  • 聲明 subpackages 后,將按照 subpackages 配置的資源路徑進(jìn)行打包, subpackages 配置路徑以外的目錄將被打包到基礎(chǔ)包中
  • 基礎(chǔ)包也能包含自己的 pages ,打包時(shí)會(huì)依據(jù)路徑的規(guī)則將 pages 內(nèi)的頁(yè)面劃分到對(duì)應(yīng)的分包中,subpackages 配置路徑以外的頁(yè)面將保留在基礎(chǔ)包中
  • 分包的根目錄不能是另外一個(gè)分包的子目錄

引用原則

  • 分包可以依賴(lài)基礎(chǔ)包的資源,不能依賴(lài)其他分包的資源

低版本兼容

兼容性考慮包括兩方面:編譯時(shí)兼容與運(yùn)行時(shí)兼容

編譯時(shí)兼容

如果項(xiàng)目中沒(méi)有配置 subpackages,那么打包最終僅生成rpk后綴的文件,稱(chēng)為整包,擁有全部的頁(yè)面與資源(即沒(méi)有啟用分包功能)。

如果項(xiàng)目中正確配置了 subpackages,并且該版本的編譯工具支持分包功能,那么打包最終會(huì)生成rpks后綴的文件,文件內(nèi)部包含一個(gè)整包,以及所有的分包。分包文件后綴名為srpk。

為了做到開(kāi)發(fā)時(shí)兼容老版本調(diào)試平臺(tái),生成 rpks 文件的同時(shí),也會(huì)生成 rpk 整包文件。

運(yùn)行時(shí)兼容

如果快用平臺(tái)不支持分包,線(xiàn)上運(yùn)行時(shí)只會(huì)下載 rpk 文件,保持原有的運(yùn)作方式。

如果快應(yīng)用平臺(tái)支持分包,線(xiàn)上運(yùn)行時(shí)會(huì)優(yōu)先下載基礎(chǔ)包與頁(yè)面所在分包,其余分包會(huì)自動(dòng)在后臺(tái)進(jìn)行預(yù)加載。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)