发布

鸿蒙开发笔记

往常笔录
专栏成员
544
文章
87227
阅读量
26
订阅数
OpenHarmony内核源码分析(内存汇编篇) | 谁是虚拟内存实现的基础
ARM处理器使用协处理器15(CP15)的寄存器来控制cache、TCM和存储器管理。CP15的寄存器只能被MRC和MCR(Move to Coprocessor from ARM Register )指令访问,包含16个32位的寄存器,其编号为0~15。本篇重点讲解其中的 C7,C2,C13三个寄存器。
小帅聊鸿蒙
2025-03-09
20
OpenHarmony内核源码分析(内存管理篇) | 虚拟内存全景图是怎样的
内存一开始一张白纸,这些extern就是给它画大界线的,从哪到哪是属于什么段。这些值大小取决实际项目内存条的大小,不同的内存条,地址肯定会不一样,所以必须由外部提供,鸿蒙内核采用了Linux的段管理方式。结合上图对比以下的解释自行理解下位置。
小帅聊鸿蒙
2025-03-08
280
鸿蒙内核源码分析(内存主奴篇)
请想一个问题,内核本身也是程序要在内存运行, 用户程序一样也要在内存运行,大家都在一个窝里吃饭, 你凭什么就管我了.好像内核程序是主子,用户程序是奴才似的.
小帅聊鸿蒙
2025-03-08
140
OpenHarmony 内核源码分析(调度机制篇) | 任务是如何被调度执行的
鸿蒙的内核中 Task 和 线程 在广义上可以理解为是一个东西,但狭义上肯定会有区别,区别在于管理体系的不同,Task是调度层面的概念,线程是进程层面概念。比如 main() 函数中首个函数 OsSetMainTask(); 就是设置启动任务,但此时啥都还没开始呢,Kprocess 进程都没创建,怎么会有大家一般意义上所理解的线程呢。狭义上的后续有 鸿蒙内核源码分析(启动过程篇) 来说明。不知道大家有没有这种体会,学一个东西的过程中要接触很多新概念,尤其像 Java/android 的生态,概念贼多,很多同学都被绕在概念中出不来,痛苦不堪。那问题是为什么需要这么多的概念呢?
小帅聊鸿蒙
2025-03-07
480
OpenHarmony内核源码分析(调度队列篇) | 内核有多少个调度队列
鸿蒙内核代码中有两个源文件是关于队列的,一个是用于调度的队列,另一个是用于线程间通讯的IPC队列。
小帅聊鸿蒙
2025-03-07
440
OpenHarmony内核源码分析(任务调度篇) | 任务是内核调度的单元
从系统的角度看,线程是竞争系统资源的最小运行单元。线程可以使用或等待CPU、使用内存空间等系统资源,并独立于其它线程运行。
小帅聊鸿蒙
2025-03-07
320
OpenHarmony内核源码分析(时钟任务篇)
时钟节拍由配置为中断触发模式的硬件定时器产生,当中断到来时,将调用一次:void OsTickHandler(void),通知操作系统已经过去一个系统时钟;不同硬件定时器中断实现都不同,
小帅聊鸿蒙
2025-03-06
830
鸿蒙内核源码分析(进程管理篇) | 谁在管理内核资源?
进程创建或fork时,拿到该进程控制块后进入Init状态,处于进程初始化阶段,当进程初始化完成将进程插入调度队列,此时进程进入就绪状态。
小帅聊鸿蒙
2025-03-06
340
谁是鸿蒙内核最重要的结构体?
结构体够简单了吧,只有前后两个指向自己的指针,但恰恰是因为太简单,所以才太不简单. 就像氢原子一样,宇宙中无处不在,占比最高,原因是因为它最简单,最稳定!
小帅聊鸿蒙
2025-03-06
350
鸿蒙开发实战案例:视频截取gif图
本示例介绍了如何截取视频的一段内容制作gif图片。该场景多出现在长视频类应用。使用FFmpeg命令对视频进行截取gif图。
小帅聊鸿蒙
2025-03-05
500
鸿蒙开发实战案例:自定义地址选择案例
本示例介绍如何使用bindSheet,changeIndex,onAreaChange实现带切换动效的自定义地址选择组件。
小帅聊鸿蒙
2025-03-05
710
鸿蒙开发实战案例:文件压缩案例
本示例介绍在Worker子线程使用@ohos.zlib提供的zlib.compressfile接口对沙箱目录中的文件进行压缩操作,压缩成功后将压缩包所在路径返回主线程,获取压缩文件列表。
小帅聊鸿蒙
2025-03-05
840
鸿蒙开发实战案例:桌面卡片实现案例
桌面卡片是比较常见的功能,本案例详细列举了卡片开发的大部分功能,如使用postCardAction接口快速拉起卡片提供方应用的指定UIAbility,通过message事件刷新卡片内容等,为开发者提供了卡片功能的展示。
小帅聊鸿蒙
2025-03-04
770
鸿蒙开发实战案例:地图定位打卡案例
本示例使用 geoLocationManager 进行地理位置定位和地理信息获取,并利用 MapComponent 组件展示地图,添加用户位置和打卡范围,通过计算用户位置和打卡中心点的距离判断用户是否处于打卡区域,实现了打卡功能。
小帅聊鸿蒙
2025-03-04
1190
鸿蒙开发实战案例:视频悬浮窗
本示例主要介绍视频小窗口播放场景,利用媒体的AVPlayer实现视频播放以及相关操作,利用PiPWindow开启悬浮窗从而实现小窗口播放视频。
小帅聊鸿蒙
2025-03-04
760
鸿蒙开发实战案例:文本选择菜单案例
本案例拓展富文本组件文字选择菜单选项,通过富文本组件editMenuOptions属性添加自定义选择菜单,在编辑文字时选择更多选项打开额外菜单栏。
小帅聊鸿蒙
2025-03-03
370
鸿蒙开发实战案例:图片分享案例
本示例介绍使用Share Kit和ShareExtensionAbility实现从图库分享图片到应用的场景。该场景多用于聊天类应用。
小帅聊鸿蒙
2025-03-03
570
鸿蒙开发实战案例:Scroll容器嵌套多种组件事件处理案例
本示例适用于Scroll容器嵌套多组件事件处理场景:当需要一个父容器Scroll内嵌套web、List,当父子的滚动手势冲突时,此时希望父容器的滚动优先级最高,即实现子组件的偏移量都由父容器统一派发,实现滚动任一子组件流畅滚动到父容器顶/底的效果。
小帅聊鸿蒙
2025-03-03
980
鸿蒙开发实战案例:沉浸式适配案例
开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。本案例分别针对Navigation、滚动、Web页、底部弹框等场景实现了沉浸式适配,且介绍了实现沉浸式适配的两种方案。
小帅聊鸿蒙
2025-03-02
690
鸿蒙开发实战案例:多媒体资源发布
本示例主要介绍使用@ohos.file.photoAccessHelper实现访问系统相册获取媒体资源的多媒体发布场景。 该场景多用于社交软件朋友圈、评论动态发布的场景。
小帅聊鸿蒙
2025-03-02
780
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档