鸿蒙应用开发深度解析:API 14核心特性与实战指南
文章目录
- 一、HarmonyOS API 14架构升级解析
- 1.1 系统架构演进
- 1.2 核心能力对比
- 二、ArkUI 3.0开发实战
- 2.1 声明式UI完整示例
- 2.2 自定义组件开发
- 三、分布式能力深度开发
- 3.1 跨设备数据同步流程
- 3.2 分布式数据库操作
- 四、系统能力扩展开发
- 4.1 后台任务管理
- 4.2 硬件服务调用
- 五、性能优化专项
- 5.1 内存管理优化策略
- 5.2 渲染性能优化
- 六、调试与测试方案
- 6.1 单元测试框架
- 6.2 性能分析工具
- 七、完整开发流程图解
- 八、API 14最佳实践
- 九、常见问题解决方案
- 9.1 分布式通信故障排查
- 9.2 内存泄漏检测步骤
- 十、未来演进方向
- 结语
一、HarmonyOS API 14架构升级解析
1.1 系统架构演进
1.2 核心能力对比
特性 | API 13 | API 14 增强点 |
---|---|---|
分布式数据同步 | 基础跨设备同步 | 支持增量同步与冲突解决算法 |
任务调度 | 基础优先级调度 | 引入QoS分级调度机制 |
内存管理 | 静态内存分配 | 动态内存压缩技术 |
安全机制 | 基础权限管理 | 细粒度访问控制列表(ACL) |
二、ArkUI 3.0开发实战
2.1 声明式UI完整示例
// 主页布局示例
@Entry
@Component
struct IndexPage {@State private counter: number = 0@StorageLink('darkMode') isDarkMode: boolean = falsebuild() {Column() {Text('HarmonyOS API 14 Demo').fontSize(24).fontColor(this.isDarkMode ? Color.White : Color.Black)Button('Click Me (+1)').onClick(() => {this.counter++appStorage.setOrCreate('counter', this.counter)}).margin(20)Text(`Count: ${this.counter}`).fontSize(20)Toggle({ type: ToggleType.Checkbox, isOn: this.isDarkMode }).onChange((value: boolean) => {this.isDarkMode = value})}.width('100%').height('100%').backgroundColor(this.isDarkMode ? Color.Black : Color.White)}
}
2.2 自定义组件开发
// 星级评分组件
@Component
export struct StarRating {@Prop maxStars: number = 5@State currentStars: number = 0build() {Row() {ForEach(Array.from({length: this.maxStars}), (_, index) => {Image(index < this.currentStars ? $r('app.media.star_filled') : $r('app.media.star_empty')).width(40).height(40).onClick(() => {this.currentStars = index + 1})})}}
}// 使用示例
@Entry
@Component
struct ProductPage {build() {Column() {StarRating({ maxStars: 7 }).margin(20)}}
}
三、分布式能力深度开发
3.1 跨设备数据同步流程
3.2 分布式数据库操作
// 创建分布式数据库
import relationalStore from '@ohos.data.relationalStore'const config: relationalStore.StoreConfig = {name: 'UserDB',securityLevel: relationalStore.SecurityLevel.S1,encrypt: true,distributed: true
}// 定义数据表结构
const SQL_CREATE_TABLE = `CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,age INTEGER,device_id TEXT,timestamp DATETIME DEFAULT CURRENT_TIMESTAMP)`// 初始化数据库
let db: relationalStore.RdbStore
relationalStore.getRdbStore(this.context, config, (err, store) => {if (err) {console.error('Failed to create RDB store.')return}db = storedb.executeSql(SQL_CREATE_TABLE)
})// 分布式数据同步配置
const syncConfig: relationalStore.SyncConfig = {mode: relationalStore.SyncMode.SYNC_MODE_PUSH_PULL,delay: 0,filters: {devices: ['1234567890ABCDEF'], // 目标设备IDtables: ['user']}
}// 启动数据同步
db.sync(syncConfig, (err) => {if (err) {console.error('Sync failed:', err)} else {console.log('Sync completed')}
})
四、系统能力扩展开发
4.1 后台任务管理
// 定义后台任务
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'class MyBackgroundTask implements backgroundTaskManager.IBackgroundTask {onTaskStart(context: backgroundTaskManager.TaskContext): void {console.log('Background task started')// 执行定时操作setInterval(() => {this.fetchData()}, 60000)}private fetchData(): void {// 实现数据获取逻辑}onTaskCancel(): void {console.log('Task cancelled')}
}// 注册持续任务
const taskInfo: backgroundTaskManager.ContinuousTaskOptions = {mode: backgroundTaskManager.AbilityMode.STARTUP,isKeepAlive: true,isProcessingCallback: true
}backgroundTaskManager.startBackgroundRunning(this.context,taskInfo,new MyBackgroundTask()
)
4.2 硬件服务调用
// 传感器数据采集
import sensor from '@ohos.sensor'class SensorService {private sensorId: numberprivate interval: number = 1000constructor(type: sensor.SensorType) {sensor.on(type, (data) => {this.handleSensorData(data)})}private handleSensorData(data: sensor.SensorResponse): void {switch (data.sensorType) {case sensor.SensorType.ACCELEROMETER:console.log(`加速度: X=${data.x}, Y=${data.y}, Z=${data.z}`)breakcase sensor.SensorType.HEART_RATE:console.log(`心率: ${data.value} bpm`)break}}startMonitoring(): void {sensor.setInterval(this.interval)}stopMonitoring(): void {sensor.off(this.sensorId)}
}// 使用示例
const accelerometer = new SensorService(sensor.SensorType.ACCELEROMETER)
accelerometer.startMonitoring()
五、性能优化专项
5.1 内存管理优化策略
// 对象池实现
class ObjectPool<T> {private pool: T[] = []private creator: () => Tconstructor(creator: () => T, initialSize: number = 10) {this.creator = creatorthis.expand(initialSize)}acquire(): T {return this.pool.pop() || this.creator()}release(obj: T): void {if (this.pool.length < 100) {this.pool.push(obj)}}private expand(count: number): void {for (let i = 0; i < count; i++) {this.pool.push(this.creator())}}
}// 使用示例
const viewPool = new ObjectPool<TextComponent>(() => new TextComponent())
const textView = viewPool.acquire()
// 使用完成后
viewPool.release(textView)
5.2 渲染性能优化
// 列表渲染优化
class OptimizedList extends LazyForEach {@State scrollIndex: number = 0private renderBuffer: number = 5build() {List({ space: 10 }) {LazyForEach(this.dataSource, (item) => {ListItem() {this.buildItem(item)}}, (item) => item.id)}.onScroll((offset: number) => {this.handleScroll(offset)})}private handleScroll(offset: number): void {const newIndex = Math.floor(offset / ITEM_HEIGHT)if (Math.abs(newIndex - this.scrollIndex) > this.renderBuffer) {this.scrollIndex = newIndexthis.recycleItems()}}private recycleItems(): void {// 实现可视区域外的组件回收}
}
六、调试与测试方案
6.1 单元测试框架
// 使用Jest测试框架示例
import { describe, it, expect } from '@ohos/hypium'describe('MathUtils Tests', () => { it('should add two numbers correctly', () => {const result = 2 + 3expect(result).assertEqual(5)})it('should handle decimal addition', () => {const result = 0.1 + 0.2expect(result).toBeCloseTo(0.3, 5)})
})
6.2 性能分析工具
# 使用hdc性能分析命令
hdc shell hidumper -s 3001 -a -t 5000 > performance.log# 内存泄漏检测
hdc shell memdump -p <pid> -o /data/memleak.hprof
七、完整开发流程图解
- 环境搭建 → 2. 项目创建 → 3. UI开发 → 4. 能力集成 → 5. 分布式调试 → 6. 性能优化 → 7. 应用签名 → 8. 多端部署
八、API 14最佳实践
-
状态管理规范:
- 使用@StorageLink进行跨组件状态共享
- 复杂应用采用Redux-like状态管理模式
-
线程调度原则:
// 使用Worker线程处理耗时操作 import worker from '@ohos.worker'const myWorker = new worker.ThreadWorker('workers/myWorker.js') myWorker.postMessage({ command: 'processImage', data: imageBuffer })
-
安全开发要求:
<!-- config.json权限配置示例 --> {"module": {"reqPermissions": [{"name": "ohos.permission.DISTRIBUTED_DATASYNC","reason": "需要跨设备数据同步"},{"name": "ohos.permission.ACCESS_BIOMETRIC","reason": "生物识别验证"}]} }
九、常见问题解决方案
9.1 分布式通信故障排查
9.2 内存泄漏检测步骤
- 使用DevEco Profiler监控内存分配
- 分析堆转储文件
- 检查未释放的资源:
- 未取消的事件监听
- 循环引用对象
- 未关闭的数据库连接
十、未来演进方向
-
元服务(Meta Service):
- 免安装服务卡片
- 跨平台服务流转
-
AI集成增强:
// 端侧AI推理示例 import ai from '@ohos.ai'const model = await ai.loadModel('face_detection.mdl') const result = await model.infer(inputTensor)
-
量子计算支持:
- 量子算法框架集成
- 安全通信协议增强
结语
本文深入探讨了HarmonyOS API 14的核心技术要点,涵盖UI开发、分布式能力、系统服务调用等关键领域。开发者可结合实际需求,参考本文提供的代码范例和架构设计,构建高性能、跨设备的智能应用。随着鸿蒙生态的持续演进,建议持续关注以下方向:
- 元服务开发框架更新
- 端云协同能力增强
- 新的分布式硬件支持
// 应用入口示例
@Entry
@Component
struct MainApp {build() {Navigator() {Route('home', page: IndexPage)Route('detail', page: DetailPage)}}
}
相关文章:
鸿蒙应用开发深度解析:API 14核心特性与实战指南
文章目录 一、HarmonyOS API 14架构升级解析1.1 系统架构演进1.2 核心能力对比 二、ArkUI 3.0开发实战2.1 声明式UI完整示例2.2 自定义组件开发 三、分布式能力深度开发3.1 跨设备数据同步流程3.2 分布式数据库操作 四、系统能力扩展开发4.1 后台任务管理4.2 硬件服务调用 五、…...
docker中kibana启动后,通过浏览器访问,出现server is not ready yet
问题:当我在浏览器访问kibana时,浏览器给我报了server is not ready yet. 在网上试了很多方法,都未能解决,下面是我的方法: 查看kibana日志: docker logs -f kibana从控制台打印的日志可以发现ÿ…...
2025年天梯赛第1场选拔赛
目录 A:徐老师的积木山峰 B:徐老师的最长上升子序列 C:徐老师的机器命令 D:徐老师的地下堡 E:徐老师的新鲜羊腿 F:徐老师的黄金矿工 G:徐老师的成绩统计 H:春节糖果 I:幸运函数 J:好坏钥匙 A:徐老师的积木山峰 徐老师有 n 块积木排成一排,从左往右数编号依次为 1∼…...
28-文本左右对齐
给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可…...
SpringBoot校园管理系统设计与实现
在现代校园管理中,一个高效、灵活的管理系统是不可或缺的。本文将详细介绍基于SpringBoot的校园管理系统的设计与实现,涵盖管理员、用户和院校管理员三大功能模块,以及系统的部署步骤和数据库配置。 管理员功能模块 管理员是系统的核心管理…...
thunder bird 配置邮箱
1.配 outlook https://cn.windows-office.net/?p22940 2.配 qq 邮箱 https://blog.csdn.net/lx_ros/article/details/124831850 3.QQ邮箱的授权码在 账号与安全 4.qq 邮箱 更换 foxmail 邮箱名 https://www.yigujin.cn/blog/p10094.html 结语 感觉网上搜到的都不咋好&…...
机器学习中的线性代数:奇异值分解 SVD
线性代数 奇异值分解(SVD) 参考资料: 超详细!彻底搞懂矩阵奇异值分解(SVD)本质计算应用!_哔哩哔哩_bilibili 非常好的视频,本文内容主要来自于该视频,在此表示感谢&#…...
机器学习深度学习基本概念:logistic regression和softmax
逻辑回归用来处理二分类问题 softmax用来处理多分类问题:比如llm在generate的时候,每个batch里面的一个样本的一个一次generate就是softmax生成一个大小为vocab_size的向量的概率分布,然后再采样 逻辑回归(logistic regression&…...
机器学习(六)
一,决策树: 简介: 决策树是一种通过构建类似树状的结构(颠倒的树),从根节点开始逐步对数据进行划分,最终在叶子节点做出预测结果的模型。 结构组成: 根节点:初始的数据集…...
在 Maven 中使用 <scope> 元素:全面指南
目录 前言 在 Maven 中, 元素用于定义依赖项的作用范围,即依赖项在项目生命周期中的使用方式。正确使用 可以帮助我们优化项目的构建过程,减少不必要的依赖冲突,并提高构建效率。本文将详细介绍 的使用步骤、常见作用范围、代码…...
Manus邀请码如何申请,有哪些办法
Manus是由Monica团队推出的一款通用型AI智能体产品,旨在通过自主任务规划与执行能力,将用户的想法转化为实际成果。它不仅能够理解复杂指令,还能通过调用虚拟环境中的工具(如浏览器、代码编辑器、文件处理器等)&#x…...
大型WLAN组网部署(Large scale WLAN network deployment)
大型WLAN组网部署 大型WLAN网络关键技术 技术 作用 VLAN Pool 通过VLAN Pool把接入的用户分配到不同的VLAN,可以减少广播域,减少网络中的广播报文,提升网络性能。 DHCP Option 43 & 52 当AC和AP间是三层组网时,AP通过…...
MQ保证消息的顺序性
在消息队列(MQ)中保证消息的顺序性是一个常见的需求,尤其是在需要严格按顺序处理业务逻辑的场景(例如:订单创建 → 支付 → 发货)。 一、消息顺序性被破坏的原因 生产者异步/并行发送:消息可能…...
SQL Server查询计划操作符(7.3)——查询计划相关操作符(9)
7.3. 查询计划相关操作符 78)Repartition Streams:该操作符消费多个输入流并产生多个输出流。期间,记录内容与格式保持不变。如果查询优化器使用一个位图过滤(bitmap filter),则输出流中的数据行数将会减少。一个输入流的每行记录被放入一个输出流。如果该操作符保留顺序…...
杨校老师课堂之零基础入门C++备战信息学奥赛-基础篇
零基础快速入门C C学习路线一、基础语法1. C基础框架2. C语言输出3. C 语言输入4. C 数据类型5. C 赋值6. 运算符与表达式7. 控制结构语句7.1 if分支结构语句7.1.1 单分支结构语句7.1.2 双分支结构语句7.1.3 多分支结构语句 7.2 switch开关语句 8. 循环结构语句8.1 for循环8.2 …...
wxWidgets GUI 跨平台 入门学习笔记
准备 参考 https://wiki.wxwidgets.org/Microsoft_Visual_C_NuGethttps://wiki.wxwidgets.org/Tools#Rapid_Application_Development_.2F_GUI_Buildershttps://docs.wxwidgets.org/3.2/https://docs.wxwidgets.org/latest/overview_helloworld.htmlhttps://wizardforcel.gitb…...
Aws batch task 无法拉取ECR 镜像unable to pull secrets or registry auth 问题排查
AWS batch task使用了自定义镜像,在提作业后出现错误 具体错误是ResourceInitializationError: unable to pull secrets or registry auth: The task cannot pull registry auth from Amazon ECR: There is a connection issue between the task and Amazon ECR. C…...
亚信安全发布2024威胁年报和2025威胁预测
在当今数字化时代,网络空间已成为全球经济、社会和国家安全的核心基础设施。随着信息技术的飞速发展,网络连接了全球数十亿用户,推动了数字经济的蓬勃发展,同时也带来了前所未有的安全挑战。2024年,网络安全形势愈发复…...
verb words
纠正correct remedy 修正modify 协商 confer 磋商/谈判 negotiate 通知notice notify *宣布announce 声明declare 宣告 declare *颁布 promulgate /introduce 协调coordinate 评估evaluate assess 撤离evacuate *规定stipulate 参与participate, 涉及refer…...
程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<12>
大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 目录 一、回调函数二、qsort2.1 使用qsort函数排序整型数据2.2 使用qsort排序结构数据2.3 qsort函数的模…...
视频录像机视频通道是指什么
视频录像机的视频通道是指摄像机在监控矩阵或硬盘录像机设备上的视频输入的物理位置。 与摄像头数量关系:在视频监控系统中,有多少个摄像头就需要多少路视频通道,通道数量决定了视频录像机可接入摄像头的数量,一般硬盘录像机有4路…...
MySQL 实战 4 种将数据同步到ES方案
文章目录 1. 前言2. 数据同步方案 2.1 同步双写2.2 异步双写2.3 定时更新2.4 基于 Binlog 实时同步 3. 数据迁移工具选型 3.1 Canal3.2 阿里云 DTS3.3 Databus3.4 Databus和Canal对比3.4 其它 4. 后记 上周听到公司新同事分享 MySQL 同步数据到 ES 的方案,发现很有…...
sqlserver中的锁模式 | SQL SERVER如何开启MVCC(使用row-versioning)【启用行版本控制减少锁争用】
文章目录 引言锁和隔离级别的关系锁模式之间兼容性I 隔离级别SQLServer默认的隔离级别为:“read commited” (已提交读)在SQLServer2005引入了基于行版本控制的隔离级别。SQL SERVER如何开启MVCC(使用row-versioning)sqlserver开启MVCC后的锁II sqlserver中的锁模式**1、共享…...
拥抱健康养生,开启活力生活
在快节奏的现代生活中,健康养生已成为人们关注的焦点,它不仅是对身体的呵护,更是一种积极的生活态度。 合理饮食是健康养生的基石。我们应秉持均衡膳食的理念,谷物、蔬菜、水果、蛋白质类食物一个都不能少。每天保证足够的蔬菜摄入…...
江科大51单片机笔记【9】DS1302时钟可调时钟(下)
在写代码前,记得把上一节的跳线帽给插回去,不然LCD无法显示 一.DS1302时钟 1.编写DS1302.c文件 (1)重新对端口定义名字 sbit DS1302_SCLKP3^6; sbit DS1302_IOP3^4; sbit DS1302_CEP3^5;(2)初始化 因为…...
Python可视化——地理空间型图表(自用)
地图信息可视化的实现就是将不可展开的曲面上的地理坐标信息转化为二维平面进行显示,这个过程也叫地图投影(空间三维投影到平面二维) 地图投影的要求:等面积、等角度、等距离。总的来说就是映射到二维平面中的任何点通过比例尺放大…...
Python 网络爬虫教程与案例详解
Python 网络爬虫教程与案例详解 在当今数字化时代,数据的价值愈发凸显。Python 作为一门强大的编程语言,在数据获取领域有着广泛的应用,其中网络爬虫便是一项重要的技术。网络爬虫能够自动从网页中提取所需数据,极大地提高了数据…...
最新的前端场景面试题
1、如何实现一个Vue3的弹框组件,你会如何设计? 如果要实现一个 Vue3 的弹框组件,我会从以下几个关键点进行设计: 组件结构:定义组件的基础结构,包括模块(template)、脚本(script)和样式(style);显示和隐藏逻辑:设计和实现弹框的显示和隐藏机制,通常通过传递 pro…...
冲刺高分!挑战7天一篇孟德尔联合meta分析 DAY1-7
Day1 此前我们完成了若干篇关于meta的挑战,这一次挑战想在meta分析基础上进一步创新一些,这一次想要挑战孟德尔联合meta分析的文章,有想学习的师弟师妹跟我们一起完成这波挑战吧~ Day1任务收集信息明确选题明确目标期刊精读范文…...
win32汇编环境,对话框中使用树形视图示例二
;运行效果 ;win32汇编环境,对话框中使用树形视图示例二 ;得到树形视图控件Treeview的全路径字符串,这里的方法是由子项向父项挨个找的算法找齐路径 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>>&g…...
前端开发10大框架深度解析
摘要 在现代前端开发中,框架的选择对项目的成功至关重要。本文旨在为开发者提供一份全面的前端框架指南,涵盖 React、Vue.js、Angular、Svelte、Ember.js、Preact、Backbone.js、Next.js、Nuxt.js 和 Gatsby。我们将从 简介、优缺点、适用场景 以及 实际…...
tomcat的web管理
进入到conf cd /usr/local/tomcat/conf/备份tomcat-users.xml cp tomcat-users.xml{.,bak}编辑tomcat-users.xml vim tomcat-users.xml增加以下内容 配置tomcat-users.xml <role rolename"manager-gui"/><role rolename"admin-gui"/><use…...
类和对象(上)
1.面向过程与面向对象的初步认识 面向过程:以步骤为中心,适合简单逻辑,但复杂系统易混乱。 面向对象:以对象职责为中心,通过抽象和模块化应对复杂需求。 C语言:面向过程,关注的是过程࿰…...
springcloud智慧工地物联网云管理系统源码
智慧工地以物联网云平台为核心,基于智慧工地物联网云平台与现场多个子系统的互联,实现现场各类工况数据采集,存储、分析与应用。通过接入智慧工地物联网云平台的多个子系统板块,根据现场管理实际需求灵活组合,实现一体…...
SLAM评估工具安装及使用EVO(Ubuntu20.04安装evo)--缺少 onnx 库还有Pandas 版本不兼容解决
介绍一下我的是ubuntu20.04.机载电脑是orinnx,通过源码烧写的系统。 首先打开终端,输入 pip install evo --upgrade --no-binary evo 安装过程中出现如下问题 缺少 onnx 库还有Pandas 版本不兼容, ONNX(Open Neural Network E…...
K8S学习之基础十五:k8s中Deployment扩容缩容
deployment扩容缩容比较简单,下面介绍两种常用方法 vi deploy-demo.yaml kind: Deployment metadata:name: myapp-v1 spec:replicas: 2selector:matchLabels:app: myappversion: v1template:metadata:labels:app: myappversion: v1spec:containers:- name: myappim…...
ClickHouse 中出现 DB::Exception: Too many parts 错误
在 ClickHouse 中出现 DB::Exception: Too many parts 错误,通常是由于表中数据分片(parts)数量超过系统限制,导致合并(merge)操作无法及时处理。以下是逐步解决方案: 1. 理解问题原因 MergeTr…...
PPT 小黑第20套
对应大猫21 Word转PPT 图片也得复制 题目要求两套PPT母板,应用不同版式(版式那就可以选) 竖排文字...
大模型管理工具:LLaMA-Factory
目录 一、安装与环境配置 二、启动 Web 界面 三、数据准备 四、模型训练 五、模型评估 七、模型导出 八、API服务部署 LLaMA-Factory 是一个开源的大语言模型(LLM)微调框架,旨在简化大规模模型的训练、微调和部署流程。它支持多种主…...
【机器人栅格地图】基于鹭鹰算法SBOA实现机器人栅格地图路径规划(目标函数:最短距离)附Matlab代码
基于鹭鹰算法(SBOA)的机器人栅格地图路径规划实现 一、鹭鹰算法(SBOA)的基本原理 鹭鹰优化算法(Secretary Bird Optimization Algorithm, SBOA)是一种新型元启发式算法,灵感源自鹭鹰的捕猎和逃…...
【Linux篇】版本控制器-Git
📌 个人主页: 孙同学_ 🔧 文章专栏:Liunx 💡 关注我,分享经验,助你少走弯路! 文章目录 1.如何理解版本控制?2.Git的操作补充细节问题 1.如何理解版本控制? 版…...
论文阅读:KAM-CoT: Knowledge Augmented Multimodal Chain-of-Thoughts Reasoning
论文来源:AAAI 2024 论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/29844 Abstract LLM通过利用能够逐步思考的思维链在NLP任务中取得了很好的性能,但是为LLM扩展多模态能力时计算成本高,且需要大量的硬件资源。…...
linux内存页块划分及位图存储机制
page_alloc.c - mm/page_alloc.c - Linux source code v5.4.285 - Bootlin Elixir Cross Referencer 一. 什么是页块(Pageblock)? 定义:页块是物理内存中的一个连续区域,由 2^pageblock_order 个物理页(Pag…...
一台云工作站是否能通过共享云桌面让10人流畅进行三维设计
云工作站,作为一种基于云计算技术的远程工作站解决方案,它将高性能的计算资源集中在云端服务器上,用户通过网络访问这些资源,实现高效、灵活的办公和创作环境。而三维设计,尤其是涉及复杂模型、高精度渲染等领域&#…...
安卓应用之服务
服务 服务也是四大组件之一,用于执行长时间运行操作的组件,它与用户界面(UI)是分开的,因此即使用户切换到其他应用,服务依然可以继续运行。主要用于处理一些不需要用户交互的任务。例如,播放音…...
【Vue CLI脚手架开发】——6.scoped样式
文章目录 一、scoped是什么二、应用案例1.使用代码2.原理3父组件App未添加scoped影响 一、scoped是什么 我们知道vue为了防止css样式污染,在每个组件中提供了 scoped属性进行限定css作用域;当<style>标签有 scoped 属性时,它的 CSS 只…...
JVM参数调整
一、内存相关参数 1. 堆内存控制 -Xmx:最大堆内存(如 -Xmx4g,默认物理内存1/4)。-Xms:初始堆内存(建议与-Xmx相等,避免动态扩容带来的性能波动)。-Xmn:新生代大小&…...
NodeJS学习笔记
NodeJS软件安装 node环境安装: https://nodejs.org 安装好后的node通常在C:\Program Files\nodejs验证安装是否成功 node -v npm -v 进入REPL模式命令行模式 nodeNodeJS在REPL模式和编辑器使用 windos在dos下常用命令 windos命令: 1、cmd dos系统2、…...
缺陷管理工具-禅道
目录 一、禅道的介绍 二、禅道的特点 三、禅道使用流程 1.管理缺陷 2.管理用例 黑马测试视频学习记录 一、禅道的介绍 二、禅道的特点 三、禅道使用流程 1.管理缺陷 2.管理用例...
C++ 单词识别_牛客题霸_牛客网
点击链接即可查看题目: 单词识别_牛客题霸_牛客网 一、题目 描述 输入一个英文句子,把句子中的单词(不区分大小写)按出现次数按从多到少把单词和次数在屏幕上输出来,次数一样的按照单词小写的字典序排序输出,要求能识别英文单词和句号。 输入…...