上一回说到了Ability,翻译过来是能力。我理解为等同于Android中的模块,某些功能的集合。比如用户模块,可以设计为UserAbility,表示所有与用户账户本身业务相关的所有功能与能力的集合。AbilitySlice那么就是该能力的其中一部分功能,比如UserSettingsAbilitySlice代表用户设置的功能和页面,UserInfoAbilitySlice代表用户个人信息的功能和页面,一个AbilitySlice为一个页面。
同时,Ability也分为PageAbility(页面),DataAbility(数据存储能力),ServiceAbility(后台服务能力)。
在页面视图设计时,鸿蒙的布局有DirectionalLayout,DependentLayout,StackLayout,AdaptiveBoxLayout,TableLayout,PositionLayout这几种,
DirectionalLayout基本与LinearLayout相似,DependentLayout与RelativeLayout相似,StackLayout我目前感觉可以参考FrameLayout用法,
PositionLayout有些类似ConstraintLayout。
Component,属于鸿蒙视图开发中的基本组件,是其他所有视图组件的父类,相当于Android中的View.
鸿蒙中的TaskDispatcher比较类似线程池,负责开启线程执行任务,那么是非主线程就会有阻塞的隐患存在,因此TaskDispatcher分为同步派发任务和异步派发任务,可选异步派发就不会有阻塞主线程的隐患。举个栗子,
我这里异步开启了一个计算任务,并显示结果在页面上。
TaskDispatcher还分为 全局任务分发器 GlobalTaskDispatcher,并发任务分发器 ParallelTaskDispatcher ,串行任务分发器 SerialTaskDispatcher 以及UI线程专用的UITaskDispatcher,UITaskDispatcher里的所有任务都在主线程执行。
可以说,TaskDispatcher比线程池强大和智能。
鸿蒙还有一个十分强大的开发能力,AI,图像识别,语音识别等智能场景能力现在 已尽数加入到鸿蒙AI全家桶,开发者只需熟悉和使用API,即可完成智能场景的功能。可以说,它不愧是为即将到来的万物互联时代所设计的操作系统。
放一张官网的图,
文字识别AI能力我测试了一下,成功识别。