鸿蒙新特性:@ohos.display 屏幕信息实验室实战 —— 分辨率、刷新率、密度与折叠状态监听
引言屏幕是应用与用户交互的唯一窗口。应用的布局适配、字体缩放、图片资源选择都依赖对屏幕参数的准确感知。HarmonyOS NEXT 通过ohos.display模块将屏幕元信息统一暴露为同步可读的属性和事件回调——分辨率、刷新率、像素密度、旋转角度、折叠状态、录屏检测等全部无需权限即可获取。ohos.display属于kit.ArkUI是 UI 框架层的核心模块。与 Android 的DisplayMetrics/WindowManager和 iOS 的UIScreen不同ohos.display不仅提供基础的分辨率和密度还内置了对折叠设备Foldable的完整支持——isFoldable()判断、getFoldStatus()查询、on(foldStatusChange)实时监听以及isCaptured()录屏检测。这些在 Android 和 iOS 中需要分散在多个 API 中的能力在鸿蒙中被整合到了一个模块中。本文将深入讲解ohos.display的屏幕属性读取、密度体系、旋转识别和折叠状态管理四大核心能力并构建一个屏幕信息实验室Demo在一个页面中完整展示屏幕全部参数。一、API 架构同步属性 事件监听1.1 核心设计理念ohos.display的 API 分为两层同步读取层提供屏幕属性的即时获取全部以Sync后缀或直接属性访问的形式提供事件监听层通过on/off模式提供折叠状态、录屏状态等实时变化的回调通知。importdisplayfromohos.display;// 同步瞬间返回完整 Display 对象constddisplay.getDefaultDisplaySync();// 直接读取属性——全部同步console.log(d.width × d.height);// 分辨率console.log(d.refreshRate.toFixed(0) Hz);// 刷新率console.log(d.densityDPI.toFixed(0) DPI);// 像素密度// 事件监听折叠状态变化display.on(foldStatusChange,(fs:display.FoldStatus){if(fsdisplay.FoldStatus.FOLD_STATUS_EXPANDED){// 切换到展开布局}});这种同步读取 事件回调的分层设计非常实用——屏幕基础属性在应用生命周期内通常不变分辨率、DPI同步读取零开销折叠状态和录屏状态是动态变化的事件监听模型及时且精确。1.2 getDefaultDisplaySync —— 默认屏幕对象getDefaultDisplaySync()是屏幕信息的核心入口。它同步返回一个Display对象包含当前默认屏幕的全部参数。这个方法无参数、无权限要求可以在任何地方调用。constddisplay.getDefaultDisplaySync();返回的Display对象是一个属性只读的快照——屏幕参数不会自动更新。如果需要获取最新值例如屏幕旋转后需要重新调用getDefaultDisplaySync()。Display 接口完整属性属性类型说明idnumber屏幕唯一标识符namestring屏幕名称如 “built-in”aliveboolean屏幕是否活跃stateDisplayState屏幕状态亮屏/息屏/待机/VRwidthnumber屏幕宽度像素heightnumber屏幕高度像素refreshRatenumber屏幕刷新率Hzrotationnumber屏幕旋转角度0/90/180/270densityDPInumber屏幕物理像素密度DPIdensityPixelsnumber逻辑像素密度缩放系数scaledDensitynumber字体缩放密度1.3 DisplayState —— 屏幕状态枚举DisplayState是屏幕当前的工作状态有四种取值枚举值说明典型场景STATE_ON亮屏正常使用中STATE_OFF息屏锁屏后、按电源键关闭STATE_DOZE待机常亮显示AOD 息屏显示模式STATE_VRVR 模式连接 VR 设备时privatestateLabel(state:display.DisplayState):string{if(statedisplay.DisplayState.STATE_ON)return亮屏;if(statedisplay.DisplayState.STATE_OFF)return息屏;if(statedisplay.DisplayState.STATE_DOZE)return待机;if(statedisplay.DisplayState.STATE_VR)returnVR 模式;return未知;}在实际开发中state可用于判断是否需要在息屏或待机状态下暂停动画、降低刷新率以节省电量。1.4 分辨率与刷新率width和height返回屏幕的物理像素分辨率。与 Android 的DisplayMetrics.widthPixels类似这两个值代表屏幕的实际像素数。refreshRate返回屏幕当前的刷新率Hz。大多数手机屏幕为 60Hz高刷屏为 90Hz 或 120Hz。开发者可以根据刷新率调整动画帧率constrrdisplay.getDefaultDisplaySync().refreshRate;if(rr90){// 高刷屏使用 90fps 流畅动画}else{// 标准屏使用 60fps 动画即可}1.5 rotation —— 屏幕旋转角度rotation返回当前屏幕的旋转角度0°、90°、180°、270°。这个值反映的是屏幕物理旋转状态不是应用窗口的朝向。配合ohos.window的setPreferredOrientation()使用时rotation 可以帮助判断用户当前的持握方向。privaterotationLabel(rot:number):string{if(rot0)return0°竖屏;if(rot90)return90°横屏;if(rot180)return180°倒置;if(rot270)return270°反向横屏;returnrot.toString()°;}二、密度体系DPI、像素密度与缩放密度2.1 三层密度模型ohos.display提供了三层密度概念这是理解鸿蒙 UI 尺寸体系的关键属性说明典型值手机用途densityDPI物理像素密度每英寸像素数420-560判断屏幕精细度等级densityPixels逻辑像素缩放系数2.75-3.5物理像素与逻辑像素的换算scaledDensity字体缩放密度与 densityPixels 相近字体大小的自动适配densityDPI是屏幕的物理属性反映了硬件的像素密度。值越高屏幕越精细。开发者通常不需要直接使用这个值做布局计算但可以用它来判断设备的屏幕等级低清/高清/超清。densityPixels是物理像素与逻辑像素vp之间的换算系数。在 ArkUI 中所有尺寸单位vp、fp都是逻辑像素框架会自动根据 densityPixels 换算为物理像素。只有在需要精确控制物理像素如 Canvas 绘制、图片解码时才需要读取这个值。scaledDensity是在 densityPixels 基础上叠加用户字体缩放设置后的系数。当用户在系统设置中调整字体大小时这个值会相应变化。// 三个密度的关系constddisplay.getDefaultDisplaySync();constphysicalPx100*d.densityPixels;// 100vp → 物理像素constfontSize16*d.scaledDensity;// 16fp → 物理像素2.2 密度与资源适配在 HarmonyOS 的资源管理中系统会根据 densityDPI 自动选择最合适的资源文件如resources/base/mediavsresources/xxhdpi/media。开发者通常不需要手动判断 DPI 等级但了解当前设备的 DPI 值有助于调试资源加载问题。三、折叠设备支持3.1 isFoldable —— 判断设备是否可折叠isFoldable()同步返回boolean判断当前设备是否为折叠设备折叠屏手机、平板等。constfoldabledisplay.isFoldable();if(foldable){// 初始化折叠适配逻辑}这是折叠适配的第一步——先判断设备类型再决定是否启用折叠相关的 UI 逻辑。3.2 getFoldStatus —— 当前折叠状态getFoldStatus()同步返回当前折叠状态值来自FoldStatus枚举枚举值说明布局策略FOLD_STATUS_EXPANDED展开状态大屏布局充分利用空间FOLD_STATUS_FOLDED折叠状态小屏布局优化单手操作FOLD_STATUS_HALF_FOLDED半开状态中间态通常保持前一个状态布局privatefoldLabel(status:display.FoldStatus):string{if(statusdisplay.FoldStatus.FOLD_STATUS_EXPANDED)return展开;if(statusdisplay.FoldStatus.FOLD_STATUS_FOLDED)return折叠;if(statusdisplay.FoldStatus.FOLD_STATUS_HALF_FOLDED)return半开;return未知;}在半开状态下如 Flex 模式悬停应用可以选择显示特殊的分屏 UI——例如上半屏播放视频、下半屏显示控制面板。3.3 折叠状态实时监听on(foldStatusChange, callback)和off(foldStatusChange, callback)提供折叠状态的实时监听。当用户折叠或展开设备时回调会被立即触发。privatestartFoldListen():void{if(!display.isFoldable()){return;}display.on(foldStatusChange,(fs:display.FoldStatus){this.foldStatusthis.foldLabel(fs);// 根据新状态调整布局});}// 离开页面时取消监听privatestopFoldListen():void{display.off(foldStatusChange);}需要注意的是off()必须在组件销毁aboutToDisappear时调用否则会造成内存泄漏。Demo 中我们将监听开关绑定到 Toggle 按钮用户可以手动开启/关闭折叠状态监听。四、实战 Demo屏幕信息实验室4.1 页面设计屏幕信息实验室页面分为六个功能区域屏幕身份卡片展示屏幕名称大字标题、活跃状态活跃/未活跃带颜色标签、屏幕 ID。下方三栏展示屏幕 ID、活跃状态和录屏检测结果。分辨率与刷新率面板双栏展示物理分辨率width × height和刷新率Hz右侧展示当前旋转角度0°竖屏/90°横屏/180°倒置/270°反向横屏。显示密度面板三栏展示三层密度——DPI物理像素密度、像素密度逻辑缩放系数、缩放密度字体缩放系数。折叠状态面板展示是否折叠设备、当前折叠状态展开/折叠/半开。提供两个按钮——刷新折叠状态重新读取最新值监听折叠Toggle 按钮控制折叠状态监听的开启与关闭。API 能力说明以灰色文字展示核心 API 的方法签名和功能说明。操作日志记录所有操作按时间倒序排列不同类别success / error / system以不同颜色标记。4.2 核心实现数据模型StatedisplayName:string--;StatedisplayId:string--;StatedisplayAlive:string--;StatedisplayState:string--;Stateresolution:string--;StaterefreshRate:string--;StatedensityDPI:string--;StatedensityPixels:string--;StatescaledDensity:string--;Staterotation:string--;StateisFoldable:booleanfalse;StatefoldStatus:string--;StatefoldListening:booleanfalse;StateisCaptured:string--;Statelogs:LogEntry[][];每个屏幕属性独立一个State变量确保 UI 能够单独更新每一项。一次性读取全部属性privaterefreshAll():void{try{constddisplay.getDefaultDisplaySync();this.displayNamed.name;this.displayIdd.id.toString();this.displayAlived.alive?活跃:未活跃;this.displayStatethis.stateLabel(d.state);this.resolutiond.width.toString() × d.height.toString();this.refreshRated.refreshRate.toFixed(0) Hz;this.densityDPId.densityDPI.toFixed(0) DPI;this.densityPixelsd.densityPixels.toFixed(3);this.scaledDensityd.scaledDensity.toFixed(3);this.rotationthis.rotationLabel(d.rotation);}catch(e){this.addLog(获取屏幕信息失败,error);}try{this.isFoldabledisplay.isFoldable();if(this.isFoldable){constfsdisplay.getFoldStatus();this.foldStatusthis.foldLabel(fs);}else{this.foldStatus非折叠设备;}}catch(e){this.isFoldablefalse;}try{this.isCaptureddisplay.isCaptured()?录屏中:正常;}catch(e){this.isCaptured--;}}每个独立功能块都使用 try/catch 包裹确保单个模块的异常不影响其他模块的数据读取。折叠状态监听 ToggleprivatetoggleFoldListen():void{if(this.foldListening){this.stopFoldListen();}else{this.startFoldListen();}}privatestartFoldListen():void{if(!display.isFoldable()){this.addLog(当前设备不支持折叠,system);return;}display.on(foldStatusChange,(fs:display.FoldStatus){this.foldStatusthis.foldLabel(fs);this.addLog(折叠状态变化: this.foldLabel(fs),system);});this.foldListeningtrue;this.addLog(已开启折叠状态监听,success);}privatestopFoldListen():void{try{display.off(foldStatusChange);this.foldListeningfalse;this.addLog(已关闭折叠状态监听,system);}catch(e){this.addLog(关闭折叠监听失败,error);}}4.3 交互方式Demo 提供四个核心交互点刷新全部信息屏幕身份卡片中的隐式刷新——每次进入页面时自动调用refreshAll()读取所有属性。Demo 中不设显式刷新按钮因为屏幕基础属性在应用生命周期内通常不变但折叠状态面板有独立刷新按钮。刷新折叠状态单击刷新折叠状态按钮重新调用isFoldable()getFoldStatus()更新折叠设备信息和当前折叠状态。折叠状态监听 Toggle单击监听折叠按钮开启监听按钮变为红色停止监听再次单击关闭监听按钮恢复青色监听折叠。开启后折叠设备的状态变化会实时反映在 UI 和操作日志中。操作日志每次 API 调用和状态变化都以时间戳 消息的形式记录到日志区域方便追踪操作时序。五、实际应用场景5.1 折叠屏布局适配classFoldableLayoutManager{privateisExpanded:booleanfalse;constructor(){if(display.isFoldable()){this.isExpandeddisplay.getFoldStatus()display.FoldStatus.FOLD_STATUS_EXPANDED;display.on(foldStatusChange,(fs:display.FoldStatus){this.isExpandedfsdisplay.FoldStatus.FOLD_STATUS_EXPANDED;this.onLayoutChanged();});}}getLayoutMode():single|dual{returnthis.isExpanded?dual:single;}privateonLayoutChanged():void{// 通知 UI 层重新布局}}5.2 根据屏幕密度选择图片资源functiongetImageQuality():low|medium|high{constdpidisplay.getDefaultDisplaySync().densityDPI;if(dpi480)returnhigh;if(dpi320)returnmedium;returnlow;}虽然 HarmonyOS 的资源系统会自动匹配 DPI 等级但在使用网络图片时可以根据此值请求不同分辨率的图片以优化流量和加载速度。5.3 高刷屏动画优化functiongetAnimationFPS():number{constrrdisplay.getDefaultDisplaySync().refreshRate;if(rr120)return120;if(rr90)return90;return60;}5.4 录屏检测functiononSensitiveContent():void{if(display.isCaptured()){// 检测到录屏隐藏敏感信息、添加水印showWatermark();}}isCaptured()返回当前屏幕是否正在被录制录屏或投屏这在金融、社交等涉及隐私保护的场景中非常实用。六、ArkTS 使用注意事项6.1 Display 对象是快照getDefaultDisplaySync()返回的Display对象是调用时刻的快照不会自动更新。如果屏幕发生了旋转或插入了外接显示器需要重新调用来获取最新值。这与 Android 的DisplayMetrics行为一致。6.2 事件监听的正确清理display.on(foldStatusChange, callback)注册的监听器必须在组件生命周期结束时通过display.off(foldStatusChange, callback)移除。在aboutToDisappear()中执行取消操作是最佳实践。6.3 非折叠设备的兼容处理在非折叠设备上isFoldable()返回falsegetFoldStatus()的行为是未定义的。代码中必须先判断isFoldable()的返回值再决定是否调用折叠相关 API。6.4 densityPixels 与 scaledDensity 的区别densityPixels是物理像素与逻辑像素vp的换算系数scaledDensity在此基础上叠加了用户的字体缩放设置。在布局计算中使用densityPixels在字号计算中使用scaledDensity。七、总结ohos.display是 HarmonyOS NEXT 中获取屏幕参数和监听显示状态变化的核心模块。通过本文的学习你应该已经掌握同步读取模型getDefaultDisplaySync()返回Display对象包含 id/name/alive/state/refreshRate/rotation/width/height/densityDPI/densityPixels/scaledDensity——全部同步可读三层密度体系densityDPI物理硬件密度、densityPixels逻辑像素缩放系数、scaledDensity字体缩放密度分别服务于资源匹配、布局换算和字体适配屏幕状态识别DisplayState枚举亮屏/息屏/待机/VR和rotation角度值0°/90°/180°/270°是节电策略和方向适配的依据折叠设备支持isFoldable()判断 getFoldStatus()查询 on/off(foldStatusChange)实时监听构成完整的折叠屏适配方案录屏检测isCaptured()同步返回当前是否处于录屏/投屏状态是隐私保护的重要检测点ohos.display的最佳使用模式可以总结为应用启动时全量读取 Display 对象建立屏幕画像折叠设备注册 foldStatusChange 监听驱动布局切换敏感场景调用 isCaptured 检测录屏状态。所有 API 同步为主、事件为辅——零权限、零延迟。屏幕信息是 UI 适配的元数据。虽然ohos.display的 API 数量不多但它覆盖了从基础分辨率到折叠状态的完整屏幕模型。在 HarmonyOS NEXT 的kit.ArkUI体系下ohos.display与ohos.window共同构成 UI 框架的双基石——display 负责屏幕是什么样的window 负责窗口怎么做。ohos.display属于kit.ArkUI是 HarmonyOS NEXT 屏幕信息查询与显示状态监听的统一入口。它的 API 设计体现了同步优先、事件补充的核心理念——基础属性零开销读取动态变化通过 on/off 回调精确感知。与 Android 的WindowManagerDisplayMetricsDisplayListener碎片化 API 相比ohos.display的一站式设计更加简洁和直观。

相关新闻

新手写小说软件怎么选?10款爆火的AI写小说工具真实测评【7月最新指南】

新手写小说软件怎么选?10款爆火的AI写小说工具真实测评【7月最新指南】

深耕网文写作五年,踩过无数工具坑,从新手摸索到稳定码字,我太清楚大家写文的痛点:卡文断更、小说大纲模板不会套用、找不到优质小说的素材、不懂新手如何开始写小说。 如今各类AI写小说工具层出不穷,很多作者挑得眼花…

2026/7/24 1:20:22阅读更多 →
鸿蒙新特性:@ohos.net.connection 网络连接诊断实验室实战 —— 网络检测、带宽查询与 DNS 解析

鸿蒙新特性:@ohos.net.connection 网络连接诊断实验室实战 —— 网络检测、带宽查询与 DNS 解析

引言 网络是移动应用的命脉。在开发中,我们需要知道设备当前是否联网、连接的是 WiFi 还是蜂窝网络、带宽多少、DNS 解析是否正常。HarmonyOS NEXT 通过 ohos.net.connection 模块将这些网络诊断能力统一暴露为简洁的同步与异步 API,大部分操作无需权限即…

2026/7/24 1:20:22阅读更多 →
Java开发者转型大模型应用开发的实战指南

Java开发者转型大模型应用开发的实战指南

1. 从Java工程师到AI开发者的转型之路 三年前,我还在某互联网公司做着传统的Java后端开发,每天和Spring Boot、MySQL、Redis打交道。直到去年公司裁员,我才意识到传统开发岗位的竞争已经白热化。在失业后的三个月里,我完成了从Jav…

2026/7/24 1:18:22阅读更多 →
全国景点查询-旅游景区查询-旅游景点搜索API接口介绍

全国景点查询-旅游景区查询-旅游景点搜索API接口介绍

前言 查询全国各地的旅游景点,覆盖面广。为旅游出行规划提供数据支撑。 API介绍 全国景点查询包括四个API,分别为:景点查询、省份列表、城市列表、区县列表。 戳这里查看详情 景点查询 根据省、市、县名称及景点名称查询景点信息&…

2026/7/24 2:40:35阅读更多 →
FlashRT:多模态AI实时流处理框架的原理与实践指南

FlashRT:多模态AI实时流处理框架的原理与实践指南

1. 先搞清楚 FlashRT 到底解决什么实际问题如果你正在尝试把多模态 AI 应用(比如视频理解、语音交互、图文生成)部署到实时场景,FlashRT 这个工具链值得先看两眼。它不是又一个“全能框架”,而是专门解决一个具体痛点:…

2026/7/24 2:40:35阅读更多 →
AI如何驱动男装市场增长与消费趋势预测

AI如何驱动男装市场增长与消费趋势预测

1. 男装市场增长背后的数据逻辑过去三年全球男装市场规模以4.7%的年均复合增长率稳步攀升,这个看似平淡的数字背后隐藏着消费行为的结构性变化。我通过服装产业数据库追踪发现,25-35岁男性客群的消费频次提升了28%,而客单价却下降了15%——这…

2026/7/24 2:40:35阅读更多 →
Claude Tag工程实践:优化团队代码审查与PR流程

Claude Tag工程实践:优化团队代码审查与PR流程

1. 先搞清楚 Claude Tag 到底解决了什么实际问题如果你在团队里负责代码审查或工程提交流程,大概率遇到过这些情况:PR 描述写得太简单、代码变更缺少上下文、重复的审查意见要手动写多次、新成员不熟悉项目规范经常踩坑。Claude Tag 瞄准的就是这些工程协…

2026/7/24 2:40:35阅读更多 →
List<Student> 转 Map<Id,List<Student>>

List<Student> 转 Map<Id,List<Student>>

在 Java 中&#xff0c;将 List<Student> 转换为 Map<Id, List<Student>>&#xff08;按 ID 分组&#xff09;有多种方式。我按推荐度从高到低列出&#xff1a;一、使用 Stream Collectors.groupingBy&#xff08;Java 8&#xff0c;最推荐&#xff09;java…

2026/7/24 2:40:35阅读更多 →
论文查重工具评测与AI智能改写技术解析

论文查重工具评测与AI智能改写技术解析

1. 论文查重工具现状与核心需求解析在学术写作和毕业季高峰期&#xff0c;论文查重服务已成为学生群体的刚需。根据2023年高校学术规范调查报告显示&#xff0c;超过87%的本科生在论文提交前会进行至少3次查重检测。面对市场上数十种查重工具&#xff0c;学生群体普遍面临三个核…

2026/7/24 2:38:35阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好&#xff0c;我是一名编程初学者&#xff0c;同时这也是我编程学习之路上的第一篇博客。在这里&#xff0c;我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手&#xff0c;目前在学习c语言&#xff0c;我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述&#xff1a; 解法&#xff1a; 1、模拟&#xff08;参考自【LeetCode 54】螺旋矩阵-CSDN博客&#xff09; int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会&#xff0c;昔日AI六小龙来了五家&#xff0c;分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了&#xff0c;唯一缺席的竟是近几个月来风光无限的智谱。&#xff08;DeepSeek一直不参加&#xff09;WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →