1# 应用启动框架AppStartup 2 3### 介绍 4 5本示例使用了: 6[@ohos.app.appstartup.StartupTask](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-appstartup-startupTask.md), 7[@ohos.app.appstartup.StartupConfig](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-appstartup-startupConfig.md), 8[@ohos.app.appstartup.StartupConfigEntry](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-appstartup-startupConfigEntry.md), 9[@ohos.app.appstartup.StartupListener](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-appstartup-startupListener.md), 10[@ohos.app.appstartup.startupManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-appstartup-startupManager.md) 11接口,展示了在eTS中如何使用应用启动框架AppStartup; 12 13### 效果预览 14 15| 主页面(自动模式) | 手动模式 | 16|:-----------------------------------:|:-----------------------------------------:| 17| <img src="screenshots/index.png" /> | <img src="screenshots/ImageKnife.png" /> | 18 19使用说明: 20 在启动应用后: 21 1. excludeFromAutoStart:false 是自动模式,index页面中显示的数据都是在应用启动框架AppStartup中初始化完成的; 22 2. excludeFromAutoStart:true 是手动模式,点击按钮手动模式在代码中通过startupManager.run()函数来加载ImageKnifeTask后在页面显示出图片; 23 24### 工程目录 25 26``` 27entry/src/main/ets/ 28|---util 29| |---SingleKVStore.ts // 工具类 30|---startup 31| |---FileTask.ets // 创建文件,且写入数据 32| |---ImageKnifeTask.ets // 初始化ImageKnifeTask 33| |---KvManagerUtilTask.ets // 获取KvManager 34| |---KVStoreTask.ets // 创建KVStore,且存入数据 35| |---RdbStoreTask.ets // 创建RdbStore,且存入数据 36| |---ResourceManagerTask.ets // 获取图片资源 37| |---StartupConfig.ets // StartupConfig配置 38|---pages 39| |---Index.ets // 首页 40| |---ImageKnife.ets // 框架加载图片 41``` 42 43### 具体实现 44 45在resources->base->profile->startup_config.json 配置startup目录下的task,在module.json5中添加这些task, 46启动应用首先会执行这些配置的task,然后在页面获取初始化的实例或者一些数据,具体情况根据业务所定; 47 48### 相关权限 49 50不涉及。 51 52### 依赖 53 54[ImageKnife](https://gitee.com/openharmony-tpc/ImageKnife) 示例中加载图片使用的是ImageKnife框架。 55 56### 约束与限制 57 581. 本示例仅支持标准系统上运行,支持设备:RK3568; 59 602. 本示例已适配API version 12版本SDK,版本号:5.0.0.28; 61 623. 本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 4.1.3.500 构建 2024年7月5日)及以上版本才可编译运行; 63 64### 下载 65 66如需单独下载本工程,执行如下命令: 67 68``` 69git init 70git config core.sparsecheckout true 71echo code/BasicFeature/Ability/AppStartup/ > .git/info/sparse-checkout 72git remote add origin https://gitee.com/openharmony/applications_app_samples.git 73git pull origin master 74```