logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【鸿蒙】ArkUI 状态管理全解:@State/@Prop/@Link/@Provide 深度辨析与最佳实践

1.@State是状态的"源头",私有、响应式,对引用类型只追踪引用变化。2.@Prop是单向只读同步,子组件持有副本,修改不回写父组件,父更新时副本重置。3.@Link是双向绑定,子组件持有父组件状态的引用,任意一方改动都会双向同步。4.解决跨层级共享问题,通过 key 匹配,key 拼错会静默失联。5.核心结论:根据数据流向选择装饰器——单向展示用 @Prop,双向控制用 @Link,全局配置

文章图片
#ArkUI#鸿蒙
Kotlin 协程原理与 Android 中的最佳实践

1.协程挂起原理:编译器将suspend函数转换为状态机 +,挂起不阻塞线程,线程可服务其他协程。2.调度器选择:主线程 UI 操作用Main,IO 操作用IO,CPU 密集用Default是安全的非阻塞切换方式。3.结构化并发:始终使用,绑定组件生命周期,禁止裸用。4.异常处理必须重新抛出;launch与async异常传播规则不同,需区别对待;需正确放置。5.Flow 最佳实践:UI 层用收集,

文章图片
Decoder init failed: OMX.qcom.video.decoder.avc

问题描述使用Exoplayer,在低端机型上播放视频时抛出异常;视频为使用高端机型自带录屏软件录制,全部参数开启到最大,视频时长6-8s,大小为16-18M,且无音轨。抛出异常Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decode...

ArkTs-Android 与 ArkTS (HarmonyOS) 存储目录全面对比

概念映射:将 Android 的等概念直接映射到 ArkTS 的。私有目录的操作逻辑非常相似。公共文件访问是重点:迁移时,需要将大量使用MediaStore和File路径的代码,重构为使用 HarmonyOS 对应的(如)和fileuri模块。权限调整:注意将 Android 的存储权限申请逻辑,改为 HarmonyOS 的细粒度媒体权限。API 学习:HarmonyOS 的文件 API 设计更偏

#harmonyos#android
FFmpeg的安装、编译——教程及踩坑

写在前面FFmpeg的安装和编译,四处踩坑,总结在这里,持续更新~2019.06.29Ubuntu、Mac安装Ubuntu下编译WindowsMac安装安装十分简单,参考MAC 系统安装FFmpeg ,一共两步:第一步是下载Homebrew,将官方的最新链接复制到终端上:第二步,下载、安装ffmpeg编译// TODO在FFmpeg Builds可以下载编译...

FFmpeg源码(三)解码前世今生——avcodec_decode_video2、avcodec_send_packet与avcodec_receive_frame

写在前面本节主要讲AVPacket中的数据解码到AVFrame中的过程。前置知识点1.FFmpeg数据结构简介AVFormatContext:封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式相关信息AVInputFormat:每种封装格式对应一个该结构体AVStream:视频文件每个视频(音频)流对应一个该结构体AVCodecContext:编码器上下文结构体,...

到底了