当前位置: 首页 > article >正文

HarmonyOS 延迟加载(lazy import)

功能特性

延迟加载特性可使待加载文件在冷启动阶段不被加载,直至应用程序实际运行过程中需要用到这些组件时,才按需同步加载相关文件,从而缩短应用冷启动耗时。

使用方式

文件的调用点,可以直接增加lazy标识

但需要注意的是,后续执行的加载是同步加载,有可能会阻塞任务执行(如点击任务,触发了延迟加载,那么运行时会去执行冷启动未加载的文件,从而增加耗时),因此是否使用lazy需要开发者自行评估。

使用lazy-import延迟加载。

 import lazy { a } from "./mod1";    // "mod1" 未执行
 import { c } from "./mod2";         // "mod2" 执行

错误示例

以下写法将引起编译报错。

    export lazy var v;                  // 编译器提示报错:应用编译报错
    export lazy default function f(){}; // 编译器提示报错:应用编译报错
    export lazy default function(){};   // 编译器提示报错:应用编译报错
    export lazy default 42;             // 编译器提示报错:应用编译报错
    export lazy { x };                    // 编译器提示报错:应用编译报错
    export lazy { x as v };               // 编译器提示报错:应用编译报错
    export lazy { x } from "mod";         // 编译器提示报错:应用编译报错
    export lazy { x as v } from "mod";    // 编译器提示报错:应用编译报错
    export lazy * from "mod";           // 编译器提示报错:应用编译报错
    
    import lazy v from "mod";           // 编译器提示报错:应用编译报错
    import lazy * as ns from "mod";     // 编译器提示报错:应用编译报错

与type关键词同时使用将会导致报错。

    import lazy type { obj } from "./mod";    // 不支持,编译器、应用编译报错
    import type lazy { obj } from "./mod";    // 不支持,编译器、应用编译报错


http://www.kler.cn/a/291885.html

相关文章:

  • Codeforces Round 987 (Div. 2) ABCD
  • ReactPress与WordPress:两大开源发布平台的对比与选择
  • WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇
  • 环境贴图选用方式
  • CentOS 源码安装FFmpeg
  • C++ 的发展
  • 利用智能外呼机器人,重塑营销版图
  • QML学习二:Qt启用qml文件实时预览编辑,以及打印日志到控制台
  • 内核链表及使用
  • 使用matlab的热门问题
  • 5.1.数据结构-c/c++二叉树详解(上篇)(遍历,几种二叉树)
  • 【Spring Boot 3】【Web】全局异常处理
  • 【mac】brew 更新
  • psql常见报错解决
  • 探究 Eureka 在 Spring Boot 中的配置注入与统一管理机制(下)——第三节
  • wordpress发送邮件的方法?怎么配置功能?
  • 计算机考研真题知识点——2021(B)
  • Redis的Java客户端
  • if语句:if和else
  • 云计算实训40——部署nmt、部署project_exam_system项目
  • 触想内嵌式工业一体机应用于智能检票机改善旅游体验
  • 学学vue-1
  • c语言与c++的区别详解
  • [数据集][目标检测]智慧牧场猪只检测数据集VOC+YOLO格式16245张1类别
  • 理解Sigmoid激活函数原理和实现
  • Linux 硬件学习 s3c2440 arm920t蜂鸣器