赞
踩
今天我们来聊一下Service Ability,基于Service模板的Ability(以下简称“Service”)主要用于后台运行任务(如执行音乐播放、文件下载等),但不提供用户交互界面。Service可由其他应用或Ability启动,即使用户切换到其他应用,Service仍将在后台继续运行。
这里就不得不提到另外一个知识点,线程。
其实目前我们前面提到的一些UI布局的绘制都是在主线程上进行的,又称UI线程,默认情况下,所有的操作都是在主线程上执行,这里如果我们系统通过ServiceAbility来完成后台运行任务,我们首先要初步了解一下asyncDispatch。
(1)初识TaskDispatcher的异步派发任务asyncDispatch;
那么TaskDispatcher又是什么呢?TaskDispatcher是一个任务分发器,它是Ability分发任务的基本接口,隐藏任务所在线程的实现细节。详细的介绍我们放到后面,先来了解异步派发任务asyncDispatch:派发任务,并立即返回,返回值是一个可用于取消任务的接口。
(2)创建Service Ability;
通过工具栏File->New->Ability->Empty Service Ability来创建Service Ability,这样创建的好处是可以在config.json中自动完成Service Ability的配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。