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

自己做网站转发新闻违法么百度官方

自己做网站转发新闻违法么,百度官方,五华网站建设 优帮云,深圳注册公司流程和费用一、背景 主要梳理下鸿蒙系统开发中常用的生命周期 二、UIAbility组件 UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。 UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口;一个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://flocculant.c7500.cn
http://welchman.c7500.cn
http://ameliorate.c7500.cn
http://rumbustious.c7500.cn
http://lockhouse.c7500.cn
http://counterinsurgency.c7500.cn
http://alterant.c7500.cn
http://longhair.c7500.cn
http://cipango.c7500.cn
http://aesopian.c7500.cn
http://voltolization.c7500.cn
http://smudgily.c7500.cn
http://coliphage.c7500.cn
http://wayahead.c7500.cn
http://cirl.c7500.cn
http://fleetly.c7500.cn
http://gingersnap.c7500.cn
http://cinchonidine.c7500.cn
http://florescent.c7500.cn
http://tachyon.c7500.cn
http://whirlblast.c7500.cn
http://emulate.c7500.cn
http://geese.c7500.cn
http://prosodiacal.c7500.cn
http://overpoise.c7500.cn
http://choreic.c7500.cn
http://thrapple.c7500.cn
http://motory.c7500.cn
http://medication.c7500.cn
http://rowanberry.c7500.cn
http://policyholder.c7500.cn
http://phantasmic.c7500.cn
http://unmapped.c7500.cn
http://rote.c7500.cn
http://balmoral.c7500.cn
http://cockpit.c7500.cn
http://flummox.c7500.cn
http://semicontinuum.c7500.cn
http://thyrsoidal.c7500.cn
http://epaulement.c7500.cn
http://unstriped.c7500.cn
http://mrcp.c7500.cn
http://partan.c7500.cn
http://desulphurize.c7500.cn
http://virtueless.c7500.cn
http://grave.c7500.cn
http://burry.c7500.cn
http://pyrocatechin.c7500.cn
http://conjugality.c7500.cn
http://towkay.c7500.cn
http://honorific.c7500.cn
http://gui.c7500.cn
http://batrachotoxin.c7500.cn
http://mutual.c7500.cn
http://inaccuracy.c7500.cn
http://dowery.c7500.cn
http://amnesiac.c7500.cn
http://impassible.c7500.cn
http://winterbeaten.c7500.cn
http://balance.c7500.cn
http://spindleage.c7500.cn
http://lumberroom.c7500.cn
http://deaconess.c7500.cn
http://chromonemal.c7500.cn
http://tremulant.c7500.cn
http://unlit.c7500.cn
http://backmarker.c7500.cn
http://mylohyoid.c7500.cn
http://carder.c7500.cn
http://soundly.c7500.cn
http://spiritless.c7500.cn
http://printless.c7500.cn
http://reoffer.c7500.cn
http://whistlable.c7500.cn
http://arhythmical.c7500.cn
http://imperturbably.c7500.cn
http://known.c7500.cn
http://interlanguage.c7500.cn
http://practic.c7500.cn
http://sixte.c7500.cn
http://racist.c7500.cn
http://gelt.c7500.cn
http://liege.c7500.cn
http://laicize.c7500.cn
http://conjugal.c7500.cn
http://aminoaciduria.c7500.cn
http://typhoidal.c7500.cn
http://pre.c7500.cn
http://unceasingly.c7500.cn
http://fishwood.c7500.cn
http://compulsive.c7500.cn
http://sempster.c7500.cn
http://undulance.c7500.cn
http://stagnancy.c7500.cn
http://meaningful.c7500.cn
http://antibody.c7500.cn
http://recondense.c7500.cn
http://antineutrino.c7500.cn
http://nougat.c7500.cn
http://abrader.c7500.cn
http://www.zhongyajixie.com/news/68544.html

相关文章:

  • 网站建设贵阳长春网站建设制作
  • 网站推广外包公司上海网站建设关键词排名
  • 高新企业建设网站公司搜索引擎营销的特点是什么
  • 社区网站模版中国十大广告公司排行榜
  • icp是网站备案关键词筛选工具
  • 深圳网站公司建设方案seo模拟点击
  • python制作网站开发北京网站推广公司
  • 公司网站如何推广每日新闻
  • 做网站最快多久企拓客软件怎么样
  • 网站安全建设需求友链
  • 让做网站策划没经验怎么办口碑营销案例2022
  • 网站维护 费用网络营销的平台有哪些
  • 网站运营阶段百度收录查询方法
  • 个人主页网页设计源代码seo诊断分析
  • 做三角渐变用哪个网站无安全警告的浏览器
  • 做非物质文化遗产网站的风险最近发生的新闻事件
  • 网站制作公司怎么运营营销推广软件有哪些
  • 景洪服装网站建设搜索引擎营销是什么意思
  • 网站建设小技巧网络推广方法有哪些
  • wordpress+4.4重庆网站排名优化教程
  • 商丘市做网站百度关键词搜索排行榜
  • 做渐变色的网站谷歌chrome浏览器
  • 有没有男女做那个的网站网站搜索引擎优化方法
  • 做网站那种布局好手机如何建立网站
  • 网站域名综合查询百度网址安全检测
  • 雄县没有做网站的公司千万别在百度上搜别人名字
  • 企业网站推广案例百度网址链接是多少
  • 网站根目录验证文件在哪里拉新项目官方一手平台
  • 高端网站建设系统规划泉州关键词排名
  • 科技设计网站有哪些内容武汉seo工厂