登录社区云,与社区用户共同成长
邀请您加入社区
通过本文的详细讲解,您已经完成了Flutter开发环境的完整搭建,并创建了第一个Flutter应用。环境搭建的核心步骤:从SDK安装到IDE配置,确保开发环境稳定高效项目创建与结构:理解Flutter项目的标准组织结构核心文件解析:掌握pubspec.yaml和main.dart的关键配置调试与优化:学习实用的调试技巧和性能优化策略错误处理:建立完整的错误监控和处理机制。
这次把搬到 OpenHarmony 的实战,让我们把 Flutter 生态和新兴操作系统融合的路径和坑都摸了一遍。吃透原理是关键:不能只埋头改代码。得先搞清楚 Flutter 插件、平台通道和原生视图到底是怎么协作的,再精准定位 OHOS 和 Android 在 UI 框架、系统 API 上的核心差异。架构需要重新设计:直接复制代码是行不通的。我们采用了“ArkTS桥接层 + C++统一渲染核心”
使用RichEditor的属性customKeyboard控制切换系统键盘还是自定义键盘,添加表情使用addImageSpan,删除内容使用deleteSpans,并通过获取光标所在位置进行删除。
本应用是基于RK3399开发板,使用OpenHarmony3.1-Release开发的应用。通过OpenHarmony的分布式技术,使多人能够一起画画。
系统提供了多样化的API,来帮助开发者完成音频录制的开发,API适用于不同录音输出格式、音频使用场景或不同开发语言。因此,选择合适的音频录制API,有助于降低开发工作量,实现更佳的音频录制效果。AVRecorder:用于音频录制的ArkTS/JS API,集成了音频输入录制、音频编码和媒体封装的功能。开发者可以直接调用设备硬件如麦克风录音,并生成m4a音频文件。AudioCapturer:用于音频
CMake是一个跨平台的构建工具,用于管理构建过程、编译、链接和打包软件项目,它可以生成Makefile等用于不同操作系统和编译器的构建脚本。CMake的配置过程是跨平台的,因此可以在不同的操作系统上运行,例如Linux、Windows和macOS。配置(Configuration):配置阶段是CMake解析CMakeLists.txt文件的过程。在配置阶段,CMake会读取CMakeLists.
在滑动场景下,常常会对同一类自定义组件的实例进行频繁的创建与销毁。此时可以考虑通过组件复用减少频繁创建与销毁的能耗。组件复用时,可能存在许多影响组件复用效率的操作,本篇文章将重点介绍如何通过组件复用四板斧提升复用性能。第一板斧,减少组件复用的嵌套层级,如果在复用的自定义组件中再嵌套自定义组件,会存在节点构造的开销,且需要在每个嵌套的子组件中的aboutToReuse方法中实现数据的刷新,造成耗时。
桌面卡片是比较常见的功能,本案例详细列举了卡片开发的大部分功能,如使用postCardAction接口快速拉起卡片提供方应用的指定UIAbility,通过message事件刷新卡片内容等,为开发者提供了卡片功能的展示。
为什么80%的码农都做不了架构师?>>>...
本文引用了架构师之路公众号作者沈剑的文章,即时通讯网对内容有改动,感谢原作者。1、前言我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知道。一个残酷的现实是,很多时候对方其实是早就已经看到了这条消息,但出出种种原因(大家都懂的),通...
文章介绍了DevEco Studio中Frame Profiler工具的使用方法,该工具用于分析鸿蒙应用卡顿丢帧问题。通过Grid嵌套Stack的示例代码,展示了如何录制和分析帧数据,识别红色卡顿帧。文章详细说明了Frame Profiler的操作步骤、分析方法和优化建议,包括如何查看帧详情、跳转trace数据以及结合ArkTS Callstack进行深度分析。最后提供了帧率计算、时间轴操作等实用
其中,MEMORY_LEVEL_MODERATE代表当前系统内存压力适中,应用可以正常运行而不会受到太大影响,MEMORY_LEVEL_LOW代表当前系统的内存已经比较低了,应用应该释放不必要的内存资源,避免造成系统卡顿,MEMORY_LEVEL_CRITICAL代表当前所剩的系统内存非常紧张,应用应该尽可能释放更多的资源,以确保系统的稳定性和性能。随着时代的发展,应用越来越复杂,占用的内存也在不
本示例是合理处理高负载组件的渲染文章的示例代码,主要讲解如何通过DisplaySync优化高负载组件的渲染,减少丢帧情况的发生。
摘要 本文介绍了一个鸿蒙H5应用的离线缓存实现方案,通过结合内存和磁盘缓存技术优化页面加载速度。方案核心在于拦截Web资源请求,优先使用本地缓存资源,当缓存不存在时再发起网络请求并保存响应数据。实测显示缓存后加载时间从2.4秒降至110毫秒,性能提升显著。文章还提供了完整的工程结构说明,包含内存/磁盘缓存管理模块,并附有详细的实现思路和代码片段。该方案特别适用于网络不稳定场景,可有效提升用户体验。
C++分布式实时应用框架——系统管理模块 上篇:(二): 基于ZeroMQ的实时通讯平台版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律追究的权利! 一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个”封闭“的系统。你不可能再一台台去操作上百台机器,传统的人工运维方式...
链接:https://juejin.im/post/6874483682699132935基础知识View绘制这部分在之前的文章有过专门的说明Android的View绘制机制在我们之前的代码中,对于15-17这部分并没有进行任何的详解,那么底层是如何产生Vsync的信号,然后又是如何通知到我们的应用进行屏幕刷新呢?这不分就是我们这篇文章的关注点。入口mChoreographer = Choreog
BlockCanary原理图.png其中最核心的两步是在调用msg.target.dispatchMessage(msg),进行消息的分发前记录时间T1,调用msg.target.dispatchMessage(msg)进行消息分发后记录时间T2,如果T2-T1大于设置的卡顿阈值就会打印当前方法调用堆栈以及显示其他相关提示或打印日志;blockcanary充分的利用了Loop的机制,在MainLo
MTHawkeye 是美图 iOS 团队在使用的调试辅助、性能优化辅助工具集,旨在帮助 iOS 开发者提升开发效率、辅助优化性能体验。在产品开发周期内,我们引入 MTHawkeye 来帮助我们更快的发现、查找、分析、定位、解决问题:开发阶段,侧重于开发调试辅助,及时侦测问题,并在必要时提示开发者及时处理测试阶段,侧重于根据测试场景,收集尽可能多的数据,用于自动化测试分析报告线上阶段,侧重...
为了进一步分析并确认丢帧根因,用profiler打开体检结果中归档的trace信息,可以看到在滑动过程中最长帧23ms,在这一帧有29个组件刷新、590个属性设置,负载高,需要想办法降低组件的复杂度以及考虑使用组件复用减少组件创建。如果不通过性能测试工具集进行分析,开发者需要:复现问题、抓取trace、分析trace,找出丢帧问题点,操作步骤多,耗时较长。优化后性能测试工具再次测试优热门资讯页滑动
腾讯 Bugly 特约作者:贺辉超1. H5 缓存机制介绍H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离线存储,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。H5 应用程序缓存为应用带来三个优势:离线浏览 用户可在应用离...
当然了,RelativeContainer组件还有着其它的属性,但是最重要的也就是位置的摆放,其实也就是相对于锚点组件的摆放;通过上述的案例,我们不难发现,所谓的左上右下,反着来就是对的,比如在锚点上边,我用bottom,在锚点下面,我用top,在实际的开发中,可极大节约我们的开发时间。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
谋定而后动:适配前,花时间分析库的架构,明确哪些模块是平台相关的,设计好适配层的边界。保持核心稳定:尽量不修改库的 Dart 核心逻辑,所有平台特性通过“适配层”去解决,这样未来库升级会更容易。测试驱动:尽早建立跨平台的自动化测试,确保适配后的行为与在原平台上一致。
今天偶然间发现一个免费的IM工具,心情久久不能平静啊哈哈,分享给大家,让你的App实现即时聊天功能,完全免费的及时通讯服务。仅需3分钟,快速高效的为App集成的即时通讯服务,让你的App更有用户粘性。1. 查看消息记录:MobIM提供最近会话列表,消息历史记录,离线消息,开...
今天偶然间发现一个免费的IM工具,心情久久不能平静啊哈哈,分享给大家,让你的App实现即时聊天功能,完全免费的及时通讯服务。仅需3分钟,快速高效的为App集成的即时通讯服务,让你的App更有用户粘性。查看消息记录:MobIM提供最近会话列表,消息历史记录,离线消息,开发者可根据需要自行从I们提供的接口获取支持多种消息类型:MobIM云支持各种消息格式,为开发者提供了多种聊天消息类型,...
这篇指南主要介绍如何将 Flutter 生态中广泛使用的后台音频播放插件适配到 OpenHarmony 平台。内容从环境搭建、原理分析,到完整代码实现和调试优化,覆盖了整个流程,希望能帮助开发者解决在鸿蒙系统上实现后台音频播放与控制的关键问题。本文详细介绍了将 Flutter插件适配到 OpenHarmony 平台的完整过程。通过构建独立的架构映射:成功将 Android 的Service架构映射
鸿蒙生态(HarmonyOS/OpenHarmony)正在快速成长,Flutter 作为跨平台开发框架,对其的支持也在逐步完善。对于开发者来说,将 Flutter 丰富的插件生态移植到鸿蒙平台,不仅能直接丰富应用功能,也是加速项目向鸿蒙迁移的一条捷径。今天,我们就以常用的条形码/二维码扫描插件为例,来聊聊如何将一个只有 Android 和 iOS 实现的 Flutter 插件,深度适配到 Open
Flutter 凭借高效的渲染和一致的体验,在跨平台开发中一直很受欢迎。现在,鸿蒙生态快速发展,很多团队都希望把现有的 Flutter 应用,连同那些功能丰富的三方库,一起平滑地迁移到鸿蒙平台。但这并非易事,很多 Flutter 库都深度绑定了 Android 或 iOS 的原生能力,怎么让它们在鸿蒙上“跑起来”,成了一个具体的挑战。就是一个典型的例子。
BuilderNode 提供能够挂载原生组件的能力,支持通过无状态的UI方法 全局自定义构建函数 @Builder生成组件树,并通过 getFrameNode 获取组件树的根 FrameNode 节点。该节点可以通过 NodeController 直接返回,挂载在 NodeContainer 节点下,也可以在FrameNode树结构和 RenderNode 树结构嵌入声明式的组件结构,实现混合显示
音乐播放的Mini条播放栏在转场时的一镜到底动画是音乐播放器应用开发中常见的需求。本示例将介绍如何实现Mini条的一镜到底动画,如Mini条歌曲封面的缩放动画,Mini条的展开收起动画等。
本文介绍了如何利用鸿蒙系统的HiDumper工具进行应用性能优化分析。通过具体步骤演示了获取组件树信息的方法,包括开启debug模式、查询窗口ID、导出组件树文件等操作。重点分析了if/else控件和visibility属性在组件树中的表现特征,为开发者提供性能调优的实用技巧。
开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。本案例分别针对Navigation、滚动、Web页、底部弹框等场景实现了沉浸式适配,且介绍了实现沉浸式适配的两种方案。
Grid布局方案对比 本文对比了两种实现不规则网格布局的性能优化方案: 反例方案:使用columnStart/columnEnd设置GridItem大小,在scrollToIndex操作时需遍历查找位置,性能较差 正例方案:采用GridLayoutOptions布局选项配合rowsTemplate/columnsTemplate,通过计算方式定位GridItem,显著提升性能 适用场景: 需要频繁
据外媒报道,XDA开发者近日获得了泄露的华为Mate 10 EMUI 8.1固件,并在固件中发现了“HiAssistant”字眼。HiAssistant的图标与华为目前的语音助手“HiVoice”完全不同,这表明华为确实在开发AI语音助手。智搜(Giiso)信息成立于2013年是国内领先的“人工智能+资讯”领域技术服务商,在大数据挖掘、智能语义、知识图谱等领域都拥有国内顶尖技术。同时旗下研发产品包
应用开发中的用户界面(UI)布局是用户与应用程序交互的关键部分。使用不同类型的布局可以将页面排布的更加美观,但也容易带来不合理的布局。不合理的布局虽然能在界面显示上达到相同效果,但是过度的布局计算,界面嵌套带来了渲染和计算的大量开销,造成性能的衰退,本文重点介绍了几种常见的布局功能和适用场景,同时提供了几种优化布局结构的方法。内置ArkUI Inspector工具,开发者可以使用ArkUIInsp
本文介绍了在鸿蒙系统中实现折叠屏设备扫码功能的技术方案。通过XComponent组件展示相机流,使用customScan系统能力进行二维码识别,支持多码识别和闪光灯控制。重点解决了折叠态切换时的相机流适配问题,利用display模块监听屏幕状态变化,动态调整相机尺寸并重启扫码服务。技术实现包括相机权限申请、XComponent加载回调处理、扫码结果解析和折叠状态监听机制。文章还展示了工程结构,包含
移动开发
——移动开发
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net