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

一个人做网站的难度淮安百度推广公司

一个人做网站的难度,淮安百度推广公司,网站制作公司上海,做网站不给维护属于诈骗吗介绍 本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。 效果图预览 使用说明 点击“Start Download“按钮后,Native侧启动子线程模拟下载任务Native侧启动子线程模拟下载,并通过Arkts的回调函数将进度信息实时传递到Arkts侧 实…

介绍

本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。

效果图预览

img

使用说明

  1. 点击“Start Download“按钮后,Native侧启动子线程模拟下载任务
  2. Native侧启动子线程模拟下载,并通过Arkts的回调函数将进度信息实时传递到Arkts侧

实现思路

  1. 前端进度条使用Progress绘制
Progress({ value: this.progress, total: 100, type: ProgressType.Ring }).width($r("app.integer.progress_size")).height($r("app.integer.progress_size")).animation({ duration: NativeProgressNotifyConstants.PROGRESS_ANIMATION_DURATION, curve: Curve.Ease }).style({ strokeWidth: 15 })
  1. JS侧调用Native侧方法,并传入用于接收下载进度的回调函数,在该回调函数中更改状态变量
naitiveprogressnotify.startDownload((data: number) => {this.progress = data;console.log("[NativeProgressNotify]progress:" + this.progress);
})
  1. Naitive侧使用std::thread创建子线程执行模拟下载的任务
std::thread downloadThread(downloadTask, asyncContext);
downloadThread.detach();
  1. Native侧模拟下载的线程中,每100ms执行一次uv_queue_work;向eventloop事件堆栈push异步任务。
 while (context && context->progress < 100) {context->progress += 1;napi_acquire_threadsafe_function(tsfn);napi_call_threadsafe_function(tsfn, (void *)context, napi_tsfn_blocking);std::this_thread::sleep_for(std::chrono::milliseconds(100));}
  1. 在模拟下载任务的子线程中,调用napi_call_function来执行Arkts回调,向Arkts侧传递进度信息
 napi_create_int32(arg->env, arg->progress, &progress);napi_call_function(arg->env, nullptr, jsCb, 1, &progress, nullptr);

高性能知识点

本例中,在Native侧使用子线程执行下载任务,从而避免对主线程资源的占用,能有效提升性能

工程结构&模块类型

verifycode                                       // har类型
|---constants
|   |---NativeProgressNotifyContants.ets         // 常量
|---view
|   |---NativeProgressNotify.ets                 // 视图层

模块依赖

不涉及

参考资料

  1. Progress
  2. Napi
  3. libuv
    最后分享一份鸿蒙(HarmonyOS)开发学习指南需要的可以扫码免费领取!!!

《鸿蒙(HarmonyOS)开发学习指南》

第一章 快速入门

1、开发准备

2、构建第一个ArkTS应用(Stage模型)

3、构建第一个ArkTS应用(FA模型)

4、构建第一个JS应用(FA模型)

5、…

图片

第二章 开发基础知识

1、应用程序包基础知识

2、应用配置文件(Stage模型)

3、应用配置文件概述(FA模型)

4、…

图片

第三章 资源分类与访问

1、 资源分类与访问

2、 创建资源目录和资源文件

3、 资源访问

4、…

图片

第四章 学习ArkTs语言

1、初识ArkTS语言

2、基本语法

3、状态管理

4、其他状态管理

5、渲染控制

6、…

图片

第五章 UI开发

1.方舟开发框架(ArkUI)概述

2.基于ArkTS声明式开发范式

3.兼容JS的类Web开发范式

4…

图片

第六章 Web开发

1.Web组件概述

2.使用Web组件加载页面

3.设置基本属性和事件

4.在应用中使用前端页面JavaScript

5.ArkTS语言基础类库概述

6.并发

7…

图片

11.网络与连接

12.电话服务

13.数据管理

14.文件管理

15.后台任务管理

16.设备管理

17…

图片

第七章 应用模型

1.应用模型概述

2.Stage模型开发指导

3.FA模型开发指导

4…

http://www.jinmujx.cn/news/113171.html

相关文章:

  • 新乡做网站的多吗百度官方网站入口
  • 网站互动交流怎么做邯郸seo推广
  • 2019年新电商法做网站合肥网站设计
  • 云阳网站建设南昌seo全网营销
  • 网站建设采购公告网站关键词优化推广哪家快
  • 网页制作与网站建设设计报告如何做品牌宣传与推广
  • 做搜狗手机网站优关键词的优化方法
  • 搭建交流平台无锡seo优化
  • 贵州贵阳疫情最新消息今天上海短视频seo优化网站
  • 做真实的自己 视频网站优秀的营销策划案例
  • 佛山免费网站制作营销软文范例大全100
  • 做网站客户需求北京seo技术交流
  • 郑州做网站哪家专业行者seo
  • 成都三合一网站建设seo研究中心教程
  • 武汉专业网站建设报价站长工具seo综合查询columbu cat
  • 做网站外国的服务器大型门户网站建设
  • 网站设计项目郑州seo
  • 昆山做网站好的网站搜索
  • 建立一个小程序需要多少钱seo优化关键词
  • 网站分站系统百度指数移动版怎么用
  • 做网站加推广多少钱推手平台哪个靠谱
  • 怎么建设一个淘宝客网站做百度线上推广
  • 新增备案网站要关闭吗重庆今天刚刚发生的重大新闻
  • 11108给换成119333做网站如何把自己的网站推广出去
  • 做室内概念图的网站南通百度网站快速优化
  • 网络公司网站设计方案ppt成都百度网站排名优化
  • 给网站做外链要注意哪些成都seo推广
  • Wordpress ksweb网站优化排名提升
  • 顶呱呱网站建设是外包的吗上海百度seo网站优化
  • 免费做网站优化网络营销方式有哪几种