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

西安网站建设网站推广知识竞赛网站建设方案策划书

西安网站建设网站推广,知识竞赛网站建设方案策划书,企业网站系统功能设计说明,wordpress 内容管理系统一、背景 主要梳理下鸿蒙系统开发中常用的生命周期 二、UIAbility组件 UIAbility组件是一种包含UI界面的应用组件#xff0c;主要用于和用户交互。 UIAbility组件是系统调度的基本单元#xff0c;为应用提供绘制界面的窗口#xff1b;一个UIAbility组件中可以通过多个页…一、背景 主要梳理下鸿蒙系统开发中常用的生命周期 二、UIAbility组件  UIAbility组件是一种包含UI界面的应用组件主要用于和用户交互。 UIAbility组件是系统调度的基本单元为应用提供绘制界面的窗口一个UIAbility组件中可以通过多个页面来实现一个功能模块。每一个UIAbility组件实例都对应于一个最近任务列表中的任务。 2.1、UIAbility组件生命周期 当用户打开、切换和返回到对应应用时应用中的UIAbility实例会在其生命周期的不同状态之间转换。 UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态如下图所示。 2.2、生命周期状态说明 2.2.1、Create状态 在应用加载过程中UIAbility实例创建完成时触发系统会调用onCreate()回调。可以在该回调中进行页面初始化操作例如变量定义资源加载等用于后续的UI界面展示。 2.2.2、WindowStageCreate和WindowStageDestroy状态 UIAbility实例创建完成之后在进入Foreground之前系统会创建一个WindowStage。WindowStage创建完成后会进入onWindowStageCreate()回调可以在该回调中设置UI界面加载、设置WindowStage的事件订阅。 2.2.3、Foreground和Background状态  Foreground和Background状态分别在UIAbility实例切换至前台和切换至后台时触发对应于onForeground()回调和onBackground()回调。 onForeground()回调在UIAbility的UI界面可见之前如UIAbility切换至前台时触发。可以在onForeground()回调中申请系统需要的资源或者重新申请在onBackground()中释放的资源。 onBackground()回调在UIAbility的UI界面完全不可见之后如UIAbility切换至后台时候触发。可以在onBackground()回调中释放UI界面不可见时无用的资源或者在此回调中执行较为耗时的操作例如状态保存等。 2.2.4、Destroy状态 Destroy状态在UIAbility实例销毁时触发。可以在onDestroy()回调中进行系统资源的释放、数据的保存等操作。 三、页面和自定义组件生命周期 3.1、先明确自定义组件和页面的关系 ①自定义组件Component装饰的UI单元可以组合多个系统组件实现UI的复用可以调用组件的生命周期。 ②页面即应用的UI页面。可以由一个或者多个自定义组件组成Entry装饰的自定义组件为页面的入口组件即页面的根节点一个页面有且仅能有一个Entry。只有被Entry装饰的组件才可以调用页面的生命周期。 3.2、页面生命周期 onPageShow页面每次显示时触发一次包括路由过程、应用进入前台等场景。 onPageHide页面每次隐藏时触发一次包括路由过程、应用进入后台等场景。 onBackPress当用户点击返回按钮时触发。 3.3、组件生命周期 ①aboutToAppear组件即将出现时回调该接口具体时机为在创建自定义组件的新实例后在执行其build()函数之前执行。 ②aboutToDisappear在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量特别是Link变量的修改可能会导致应用程序行为不稳定。 以下示例展示了生命周期的调用时机示例来自于官网文档中心 // Index.ets import router from ohos.router;Entry Component struct MyComponent {State showChild: boolean true;// 只有被Entry装饰的组件才可以调用页面的生命周期onPageShow() {console.info(Index onPageShow);}// 只有被Entry装饰的组件才可以调用页面的生命周期onPageHide() {console.info(Index onPageHide);}// 只有被Entry装饰的组件才可以调用页面的生命周期onBackPress() {console.info(Index onBackPress);}// 组件生命周期aboutToAppear() {console.info(MyComponent aboutToAppear);}// 组件生命周期aboutToDisappear() {console.info(MyComponent aboutToDisappear);}build() {Column() {// this.showChild为true创建Child子组件执行Child aboutToAppearif (this.showChild) {Child()}// this.showChild为false删除Child子组件执行Child aboutToDisappearButton(delete Child).onClick(() {this.showChild false;})// push到Page2页面执行onPageHideButton(push to next page).onClick(() {router.pushUrl({ url: pages/Page2 });})}} }Component struct Child {State title: string Hello World;// 组件生命周期aboutToDisappear() {console.info([lifeCycle] Child aboutToDisappear)}// 组件生命周期aboutToAppear() {console.info([lifeCycle] Child aboutToAppear)}build() {Text(this.title).fontSize(50).onClick(() {this.title Hello ArkUI;})} } 以上示例中Index页面包含两个自定义组件一个是被Entry装饰的MyComponent也是页面的入口组件即页面的根节点一个是Child是MyComponent的子组件。只有Entry装饰的节点才可以使页面级别的生命周期方法生效所以MyComponent中声明了当前Index页面的页面生命周期函数。MyComponent和其子组件Child也同时也声明了组件的生命周期函数。 应用冷启动的初始化流程为MyComponent aboutToAppear -- MyComponent build -- Child aboutToAppear -- Child build -- Child build执行完毕 -- MyComponent build执行完毕 -- Index onPageShow。点击“delete Child”if绑定的this.showChild变成false删除Child组件会执行Child aboutToDisappear方法。 点击“push to next page”调用router.pushUrl接口跳转到另外一个页面当前Index页面隐藏执行页面生命周期Index onPageHide。此处调用的是router.pushUrl接口Index页面被隐藏并没有销毁所以只调用onPageHide。跳转到新页面后执行初始化新页面的生命周期的流程。如果调用的是router.replaceUrl则当前Index页面被销毁执行的生命周期流程将变为Index onPageHide -- MyComponent aboutToDisappear -- Child aboutToDisappear。上文已经提到组件的销毁是从组件树上直接摘下子树所以先调用父组件的aboutToDisappear再调用子组件的aboutToDisappear然后执行初始化新页面的生命周期流程。点击返回按钮触发页面生命周期Index onBackPress且触发返回一个页面后会导致当前Index页面被销毁。最小化应用或者应用进入后台触发Index onPageHide。当前Index页面没有被销毁所以并不会执行组件的aboutToDisappear。应用回到前台执行Index onPageShow。 退出应用执行Index onPageHide -- MyComponent aboutToDisappear -- Child aboutToDisappear。
http://www.zqtcl.cn/news/548168/

相关文章:

  • 深圳专业做网站建设西安网站建设有限公司
  • wordpress 一键建站wordpress子主题style
  • 昆明设计网站怎么做网络广告
  • 2018什么做网站深圳企业网站设
  • 北京旅游外贸网站建设博客集成wordpress
  • 中国最好的建设网站哪些网站教你做系统
  • 自己做网站别人怎么看见网站建设办公
  • 凡科做网站视频网站哪家好
  • 查询网站是否正规营销策略国内外文献综述
  • 做网页用的网站wordpress用户角色权限管理
  • 怎么查网站备案的公司wordpress 无刷新评论
  • 学前心理学课程建设网站百度极速版下载
  • 佛山做营销型网站建设深圳宝安区租房
  • 做汽车团购的网站建设营销方案有哪些
  • 做设计的网站网络公关什么意思
  • 一般课程网站要怎么做做钓鱼网站软件下载
  • 济南网站建设92jzh收不到wordpress的邮件
  • 一键优化在哪里打开新手怎么入行seo
  • 网站建设的费用明细创建公司网站需要注意什么
  • 微网站怎么做的好宣传片拍摄服务
  • 抚州网站开发机构wordpress开源
  • 企业营销网站建设不属于网页制作工具
  • 呼和浩特网站建设信息建服装类网站需要考虑的因素
  • 百度站长平台工具南京开发app的公司
  • 济南如何挑选网站建设公司设计 网站 现状
  • 网站开发建设流程图wordpress 插件 简码
  • 信宜网站开发公司阿里指数app下载
  • AAP网站开发需要多少钱网站核验通知书
  • 网站续费模板wordpress安装到ESC
  • 网站网址大全做商品条形码的网站