# 分包加载

当ASCF元服务体积较大时，可以使用ASCF元服务的分包加载功能。简单来说，就是将项目中的所有页面及资源通过配置规则划分到多个单独的分包文件中，运行时单独下载，加快页面渲染。对ASCF元服务进行分包，可以优化其首次启动的加载时间，以及更好的管理和解耦各个模块功能。

分包加载的能力首先依赖于编译时工具，根据开发者在manifest.json中配置的subpackages规则，将项目打包成多个分包。这些分包包含一个主包和若干个分包，主包内容包含一些公共的资源、页面等内容，而分包内容则是根据开发者的配置资源目录进行划分。每个包都是作为rawfile资源文件放到元服务分包中，都是一个元服务的一个独立的hsp。

其次运行时，ASCF元服务将优先加载主包和页面所在[分包](https://developer.huawei.com/consumer/cn/doc/atomic-ascf/develop-subpackages)，其余分包会自动在后台进行[预加载](https://developer.huawei.com/consumer/cn/doc/atomic-ascf/develop-preloading)。

ASCF元服务分包大小遵循元服务的包大小限制。

为达到更好的分包效果，可以参考以下建议进行分包配置：

* 首页必须保留在主包中，放到分包中可能导致ASCF元服务第一次无法打开的问题
* 业务逻辑上密切相关的页面配置在同一个分包中
* 主包放置公共资源，单个分包独有的资源放置到分包中，以减小主包大小。

* **[分包](https://developer.huawei.com/consumer/cn/doc/atomic-ascf/develop-subpackages)**   
* **[预加载](https://developer.huawei.com/consumer/cn/doc/atomic-ascf/develop-preloading)**   
* **[分包异步化](https://developer.huawei.com/consumer/cn/doc/atomic-ascf/asynchronous-subcontracting)**   
* **[IDE本地运行时配置](https://developer.huawei.com/consumer/cn/doc/atomic-ascf/develop-ide-runtime-configuration)**   
