技术标签: 应该开发 华为 鸿蒙开发 鸿蒙 OpenHarmony 移动开发 Harmony OS harmonyos
AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。
AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。
DevEco Studio默认工程中未自动生成AbilityStage,如需要使用AbilityStage的能力,可以手动新建一个AbilityStage文件,具体步骤如下。
在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为myabilitystage。
在myabilitystage目录,右键选择“New > TypeScript File”,新建一个TypeScript文件并命名为MyAbilityStage.ts。
打开MyAbilityStage.ts文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调,示例中增加了一个onCreate()
生命周期回调。
import AbilityStage from '@ohos.app.ability.AbilityStage';
import Want from '@ohos.app.ability.Want';
export default class MyAbilityStage extends AbilityStage {
onCreate() {
// 应用的HAP在首次加载的时,为该Module初始化操作
}
onAcceptWant(want: Want) {
// 仅specified模式下触发
return "MyAbilityStage";
}
}
srcEntry
参数来指定模块对应的代码路径,以作为HAP加载的入口。 json { "module": { "name": "entry", "type": "entry", "srcEntry": "./ets/myabilitystage/MyAbilityStage.ts", ... } }
AbilityStage拥有onCreate()
生命周期回调和onAcceptWant()
、onConfigurationUpdated()
、onMemoryLevel()
事件回调。
onCreate()
生命周期回调:在开始加载对应Module的第一个UIAbility实例之前会先创建AbilityStage,并在AbilityStage创建完成之后执行其onCreate()
生命周期回调。AbilityStage模块提供在Module加载的时候,通知开发者,可以在此进行该Module的初始化(如资源预加载,线程创建等)能力。
onAcceptWant()
事件回调:UIAbility 指定实例模式(specified) 启动时候触发的事件回调,具体使用请参见UIAbility启动模式综述。
onConfigurationUpdated()
事件回调:当系统全局配置发生变更时触发的事件,系统语言、深浅色等,配置项目前均定义在 Configuration
类中。
onMemoryLevel()
事件回调:当系统调整内存时触发的事件。
应用被切换到后台时,系统会将在后台的应用保留在缓存中。即使应用处于缓存中,也会影响系统整体性能。当系统资源不足时,系统会通过多种方式从应用中回收内存,必要时会完全停止应用,从而释放内存用于执行关键任务。为了进一步保持系统内存的平衡,避免系统停止用户的应用进程,可以在AbilityStage中的onMemoryLevel()
生命周期回调中订阅系统内存的变化情况,释放不必要的资源。
import AbilityStage from '@ohos.app.ability.AbilityStage';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
export default class MyAbilityStage extends AbilityStage {
onMemoryLevel(level: AbilityConstant.MemoryLevel) {
// 根据系统可用内存的变化情况,释放不必要的内存
}
}
为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
https://qr21.cn/FV7h05
https://qr21.cn/FV7h05
https://qr21.cn/FV7h05
https://qr18.cn/F781PH
https://qr18.cn/F781PH
1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向
文章浏览阅读975次。文章目录一、源码,详见地址二、实践篇1、导入依赖项目2、配置添加依赖项目3、把依赖项目设置为兼容的library(错误解决)声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!大概是在去年12月份写了一篇这样的文章,最近参照来看发现看的有些费劲,因为当时用的Markdown编辑器所以编辑和排版都相对比较麻烦不好观看,所以决定重新写一..._android 如果引用一个项目作为lib
文章浏览阅读97次。这里是修真院后端小课堂,每篇分享文从八个方面深度解析后端知识/技能,本篇分享的是:【Quartz】【修真院Java小课堂】任务调度-Quartz开场语:大家好,我是IT修真院北京分院第32期的学员廖友,一枚正直纯洁善良的Java程序员,今天给大家分享一下,修真院官网Java任务十中的知识点——任务调度-Quartz一、背景介绍:1、任务调度概念任务调度是指基于给定时间点,给定时间间..._quartz毕设参考文献
文章浏览阅读191次。一般情况下,我们安装好了linux系统,都希望通过工具能够进行远程管理,这样可以方便许多,但是有时候却无法通过这些工具连接,主要是由于我们没有安装远程的服务,如ssh及telnet这2个服务!命令方式安装:sudo apt-get install ssh 安装telnet方法:sudo apt-get install telnet Telnet..._linux不能通过工具访问远程
文章浏览阅读174次。在做springboot连接数据库时:方案1:在项目代码-数据库连接URL后,加上 (注意大小写必须一致)?serverTimezone=UTC方案2:在mysql中设置时区,默认为SYSTEM set global time_zone='+8:00'错误原因:使用了Mysql Connector/J 6.x以上的版本,然set global time_zone='+8:0...
文章浏览阅读4.1k次。在Spring Cloud Zuul中,Zuul本身有几个核心过滤器源码如下:其中 ServletDetectionFilter优先级最高 为-3 ,所以最先执行,这个核心过滤器只是做了一个判断当前请求是通过Spring的DispatcherServlet处理运行,还是通过ZuulServlet来处理运行,并把结果放回上下文中。一般般情况下,发送到API网关的外部请求都会被Spring..._zuul网关 file not allowed to upload!
文章浏览阅读3.6k次。该文章的前提是已安装Python(楼主安装版本为64bit的3.7版本),使用PySerial模块,该模块安装前可先安装pip(推荐安装,还可以用于安装其他模块,使用方便)一、安装PIP1、下载安装包,地址为:https://pypi.org/project/pip/#files2、下载完成后将其解压到python目录下:随后,cmd进入该目录下,并进入到pip-19.0..._phthon 脱机安装串口模块
文章浏览阅读3.2k次。据说是mac下才会发生,其实不是的,和播放器的音频解码方式有关,大家在调用write_videofile函数时加上参数audio_codec="aac",改变下声道编码即可_moviepy 音频不加载
文章浏览阅读1.9k次。_无法打开文件“msvcrtd.lib”
文章浏览阅读96次。以上代码包括实验代码,都能在这里找到SillyBoy作者:Pika链接:https://juejin.cn/post/7227029203656867899来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。_动态so
文章浏览阅读1k次。今天遇到了sha的相关函数的应用,随手收集了点有用的资料,以后在看。。。。。。。HA1散列函数是很常用的散列函数,它产生160bit(20字节)长度的散列值。今天,我就来介绍利用OpenSSL现成的API来计算数据的SHA1散列值。先来看OpenSSL的相关API声明: #include unsigned char *SHA_基于openssl实现sha1算法哈希运算
文章浏览阅读4.6k次,点赞10次,收藏32次。PS:本系列笔记将会记录我此次在北京学习Unity开发的总体过程,方便后期写总结,笔记为日更。笔记内容均为 自己理解,不保证每个都对点乘求角度,叉乘求方向比如敌人再附近,点乘可以求出玩家面朝方向和敌人方向的夹角,叉乘可以得出左转还是右转更好的转向敌人Part 1 点乘:数学上的 点乘为 a * b = |a| * |b| * cos(Θ) Unity中的点乘也是如此 点乘结果为 ..._3d游戏中向量叉乘
文章浏览阅读262次。题目链接:http://poj.org/problem?id=3468题目大意:给出n个数的数值Q是对区间a,b的求和C是对区间a,b内的所有数都加上c思路:成段更新,需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候#include#include#include#include#inc