301不同类型网站/市场营销经典案例

301不同类型网站,市场营销经典案例,团购网站怎么推广,广告艺术设计是什么温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT PicturePreviewImage组件深度剖析:高级功能扩展与性能优化策略(三) 文章目录 HarmonyOS NEXT PicturePreviewImage组件…

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦!

HarmonyOS NEXT PicturePreviewImage组件深度剖析:高级功能扩展与性能优化策略(三)

文章目录

  • HarmonyOS NEXT PicturePreviewImage组件深度剖析:高级功能扩展与性能优化策略(三)
      • 一、高级功能扩展
        • 1.1 图片滤镜支持
        • 1.2 图片标注与注释
      • 二、性能优化策略
        • 2.1 图片懒加载优化
        • 2.2 渲染性能优化
        • 2.3 内存管理优化
      • 三、调试与测试策略
        • 3.1 单元测试覆盖
        • 3.2 性能测试与分析
      • 四、核心知识点总结

一、高级功能扩展

1.1 图片滤镜支持

需求背景

  • 提升用户体验,允许用户在预览图片时应用不同滤镜效果。

实现思路

  • 引入@kit.ImageFilterKit模块,提供多种滤镜选项(如模糊、灰度、亮度调整等)。
  • build方法中,根据当前选中的滤镜应用对应的图像处理逻辑。

代码示例

import { ImageFilterKit } from '@kit.ImageFilterKit';@State filterType: ImageFilterType = ImageFilterType.NONE;build() {Stack() {Image(this.imageUrl).filter(this.filterType) // 应用滤镜// 其余配置保持不变}// 添加滤镜切换按钮Column() {Button({ text: "模糊" }).onClick(() => { this.filterType = ImageFilterType.BLUR; })Button({ text: "灰度" }).onClick(() => { this.filterType = ImageFilterType.GRAYSCALE; })// 更多滤镜按钮...}
}
1.2 图片标注与注释

需求背景

  • 提供用户在图片上进行标注的功能,适用于教育、设计等领域。

实现思路

  • 集成@kit.AnnotationKit,允许用户在图片上绘制文本框、箭头等标注。
  • 管理标注数据,支持保存和加载标注信息。

代码示例

import { AnnotationKit } from '@kit.AnnotationKit';@State annotations: Annotation[] = [];build() {Stack() {Image(this.imageUrl).annotations(this.annotations) // 应用标注// 其余配置保持不变}// 添加标注工具栏Column() {Button({ text: "添加文本" }).onClick(() => { /* 弹出文本框 */ })Button({ text: "添加箭头" }).onClick(() => { /* 弹出箭头绘制 */ })// 更多标注按钮...}
}

二、性能优化策略

2.1 图片懒加载优化

需求背景

  • 在图片数量较多时,提升加载速度和减少内存占用。

实现思路

  • 使用CommonLazyDataSourceModel实现图片懒加载。
  • 结合windowSizeManager动态调整预加载图片数量。

代码示例

@State lazyImageList: CommonLazyDataSourceModel<string> = new CommonLazyDataSourceModel();build() {List({scroller: this.listScroll,space: this.listSpace,lazyDataSource: this.lazyImageList}) {LazyForEach(this.lazyImageList, (imageUrl, index) => {PicturePreviewImage({ imageUrl, index, ... })})}
}
2.2 渲染性能优化

需求背景

  • 在高分辨率图片和复杂动画场景下,保持流畅的用户体验。

实现思路

  • 使用matrix4进行批量矩阵变换,减少渲染调用次数。
  • 合理设置animationDurationcurve,避免过度绘制。

代码示例

matrix4.identity().scale(this.scale).rotate(this.rotation).translate(this.offset).copy(); // 批量计算,减少渲染调用
2.3 内存管理优化

需求背景

  • 防止内存泄漏,确保长时间运行的应用稳定性。

实现思路

  • 在组件销毁时,显式释放图片资源和矩阵状态。
  • 使用WeakRefFinalizationRegistry进行资源清理。

代码示例

aboutToDisappear() {this.imagePixelMap = undefined; // 释放图片资源this.matrix = matrix4.identity().copy(); // 重置矩阵// 注册清理回调registry.register(this, () => {// 执行深度清理操作});
}

三、调试与测试策略

3.1 单元测试覆盖

需求背景

  • 确保各个功能模块的正确性和稳定性。

实现思路

  • 使用@testing-library/arkui编写单元测试,覆盖主要功能路径。
  • 对手势识别、矩阵变换、滤镜应用等进行详细测试。
3.2 性能测试与分析

需求背景

  • 识别并优化性能瓶颈,提升应用整体性能。

实现思路

  • 使用HarmonyOS DevEco Studio的性能分析工具,监控CPU、内存、渲染性能。
  • 结合console.timeconsole.profile进行代码级性能分析。

四、核心知识点总结

知识点实现要点相关代码示例
滤镜与标注扩展集成第三方库,管理状态与交互ImageFilterKit, AnnotationKit
懒加载优化使用懒加载模型,动态调整预加载策略CommonLazyDataSourceModel
渲染与内存优化批量矩阵变换,资源释放与管理matrix4, WeakRef, FinalizationRegistry
测试与调试策略单元测试覆盖,性能分析与优化@testing-library/arkui, DevEco Studio

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

六十天前端强化训练之第十七天React Hooks 入门:useState 深度解析

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、知识讲解 1. Hooks 是什么&#xff1f; 2. useState 的作用 3. 基本语法解析 4. 工作原理 5. 参数详解 a) 初始值设置方式 b) 更新函数特性 6. 注意事项 7. 类组…

IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析

IEC61850标准是电力系统自动化领域唯一的全球通用标准。IEC61850通过标准的实现&#xff0c;使得智能变电站的工程实施变得规范、统一和透明&#xff0c;这大大提高了变电站自动化系统的技术水平和安全稳定运行水平。 在 IEC61850 标准体系中&#xff0c;ResvTms&#xff08;r…

G-Star 公益行起航,挥动开源技术点亮公益!

公益组织&#xff0c;一直是社会温暖的传递者&#xff0c;但在数字化浪潮中&#xff0c;也面临着诸多比大众想象中复杂的挑战&#xff1a;项目管理如何更高效&#xff1f;志愿者管理又该如何创新&#xff1f;宣传推广怎么才能更有影响力&#xff1f;内部管理和技术支持又该如何…

京东 h5st 5.1 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向分析 学习了2天某物&#xff0c;f…

CentOS 系统安装 docker 以及常用插件

博主用的的是WindTerm软件链接的服务器&#xff0c;因为好用 1.链接上服务器登入后&#xff0c;在/root/目录下 2.执行以下命令安装docker sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.reposudo…

不像人做的题————十四届蓝桥杯省赛真题解析(上)A,B,C,D题解析

题目A&#xff1a;日期统计 思路分析&#xff1a; 本题的题目比较繁琐&#xff0c;我们采用暴力加DFS剪枝的方式去做&#xff0c;我们在DFS中按照8位日期的每一个位的要求进行初步剪枝找出所有的八位子串&#xff0c;但是还是会存在19月的情况&#xff0c;为此还需要在CHECK函数…

【redis】set 类型:基本命令

文章目录 基本概念SADD 和 SMEMBERSSCARDSPOPSRANDMEMBERSMOVESREM集合间操作SINTERSINTERSTORESUNIONSUNIONSTORESDIFFSDIFFSTORE 命令小结内部编码 基本概念 谈到一个属于&#xff0c;这个术语可能有多种含义&#xff0c;set 集合设置&#xff08;和 get 相对应&#xff09…

2023华东师范大学计算机复试上机真题

2023华东师范大学计算机复试上机真题 2022华东师范大学计算机复试上机真题 2021华东师范大学计算机复试上机真题 2023华东师范大学计算机复试机试真题 2022华东师范大学计算机复试机试真题 2021华东师范大学计算机复试机试真题 在线评测&#xff1a;传送门&#xff1a;pgcode.…

在线Doc/Docx转换为PDF格式 超快速转换的一款办公软件 文档快速转换 在线转换免费转换办公软件

小白工具https://www.xiaobaitool.net/files/word-pdf/提供了一项非常实用的在线服务——将Doc或Docx格式的文档快速转换为PDF格式。这项服务不仅操作简单&#xff0c;而且转换效率高&#xff0c;非常适合需要频繁处理文档转换的用户。 服务特点&#xff1a; 批量转换&#x…

java学习总结(四)MyBatis多表

一、多表结构 学生表、班级表、课程表、班级课程表 二、一对一 一个学生只属于一个班级。 查询&#xff1a;id name age gender banjiName SELECT s.id,s.name,s.age,s.gender,b.id AS banjiId,b.name AS banjiName FROM student AS s INNER JOIN banji AS b ON s.banji_id…

大语言模型学习及复习笔记(1)语言模型的发展历程

1.大模型进入人们视野 ChatGPT 于2022年11月底上线 模型名称 发布时间 核心突破 GPT-3 2020年6月 首款千亿参数模型&#xff0c;少样本学习 GPT-3.5-Turbo 2022年11月 对话能力优化&#xff0c;用户级应用落地 GPT-4 2023年3月 多模态、强逻辑推理 GPT-4o / GPT-4…

【C#学习】协程等待

来源GPT&#xff0c;仅记录学习 yield return WaitForEndOfFrame() 适用于 渲染结束后再执行代码&#xff0c;但 WebGL 可能不适合这个操作&#xff0c;会拖慢帧率。(渲染得太慢&#xff09; yield return null; 让代码在下一帧的 Update() 里继续运行&#xff0c;更加流畅。 …

从零开始用AI开发游戏(一)

1. 核心玩法设计 核心目标&#xff1a;玩家需在随机生成的3D迷宫中寻找出口&#xff0c;躲避陷阱、收集道具、解开谜题。核心机制&#xff1a; 随机生成迷宫&#xff1a;每次游戏生成不同结构的迷宫&#xff08;递归分割算法或深度优先搜索&#xff09;。第一人称视角&#xf…

基于ssm的宠物医院信息管理系统(全套)

一、系统架构 前端&#xff1a;html | layui | vue | element-ui 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | tomcat | idea | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页…

cursor使用

引入私有文档 设置-> Features->下滑找到Docs url后边多加一个 / 可以拉取url下所有的页面(子页面&#xff0c;子目录)&#xff0c;不加只拉取url当前页面 使用 选择 Docs 回车 选择 文档 直接解析链接 链接 回车 搜索引擎 web 对比git版本差异 git 选择其中一个 g…

嵌入式八股ARM篇

前言 ARM篇主要介绍一下寄存器和中断机制,至于汇编这一块…还请大家感兴趣自行学习 1.寄存器 R0 - R3 R4 - R11 寄存器 R0 - R3一般用作函数传参 R4 - R11用来保存程序运算的中间结果或函数的局部变量 在函数调用过程中 注意在发生异常的时候 cortex-M0架构会自动将R0-R3压入…

【C++项目实战】校园公告搜索引擎:完整实现与优化指南

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;一、项目概述 &#x1f4d6;1.项目背景 &#x1f4d6;2.主要功能 &#x1f4d6;3.界面展…

MySQL数据库复制

文章目录 MySQL数据库复制一、复制的原理二、复制的搭建1.编辑配置文件2.在主库上创建复制的用户3.获取主库的备份4.基于从库的恢复5.建立主从复制6.开启主从复制7.查看主从复制状态 MySQL数据库复制 MySQL作为非常流行的数据库&#xff0c;支撑它如此出彩的因素主要有两个&am…

Sourcetree——使用.gitignore忽略文件或者文件夹

一、为何需要文件忽略机制&#xff1f; 1.1 为什么要会略&#xff1f; 对于开发者而言&#xff0c;明智地选择忽略某些文件类型&#xff0c;能带来三大核心优势&#xff1a; 仓库纯净性&#xff1a;避免二进制文件、编译产物等污染代码库 安全防护&#xff1a;防止敏感信息&…

基于yolov8+streamlit实现目标检测系统带漂亮登录界面

【项目介绍】 基于YOLOv8和Streamlit实现的目标检测系统&#xff0c;结合了YOLOv8先进的目标检测能力与Streamlit快速构建交互式Web应用的优势&#xff0c;为用户提供了一个功能强大且操作简便的目标检测平台。该系统不仅具备高精度的目标检测功能&#xff0c;还拥有一个漂亮且…