Jetpack Compose 实战:打造高性能轮播图(Carousel)组件

这篇文章用 Jetpack Compose 官方 `HorizontalPager` 实现一个可复用轮播图组件,覆盖基础滑动、伪无限循环、自动轮播、拖拽暂停和底部指示器。文中保留完整 Kotlin 示例,并说明从 Accompanist 迁移到 `androidx.compose.foundation.pager` 后的实现重点。 在 Android 传统 View 体系里,轮播图通常要把 ViewPager 或 ViewPager2 、定时器和手势处理拼在一起,代码不算复杂,但零散且不够直观。

Jetpack Compose 实战:打造高性能轮播图(Carousel)组件

Flutter 中 Isolate 全面解析:从并发原理到实战选型

本文围绕 Flutter/Dart 中的 `Isolate` 展开,解释它为什么能避免 UI 卡顿、`Isolate.spawn()` 与 `Isolate.run()` 的区别,以及在文件读取、计算任务和 Flutter `compute()` 中该怎么选。文中保留完整示例代码,并补充通信机制、双向消息和资源管理要点。 Flutter 页面掉帧,很多时候不是异步写得不对,而是耗时任务还在主 Isolate 里排队执行。

Flutter 中 Isolate 全面解析:从并发原理到实战选型

WPF 圆形水波纹进度条怎么做:从 XAML 结构到动画与依赖属性

这篇文章围绕一个 WPF 圆形水波纹进度条的实现思路展开,重点拆解了 XAML 布局、`Storyboard` 动画、`EllipseGeometry` 圆形裁剪以及依赖属性绑定的配合方式,并补充了白线问题的处理办法与实现局限。 很多人第一次在 WPF 里做“带水波动画的圆形进度条”时,卡点往往不在单个控件,而是在动画、裁剪和数据绑定怎么配合。

WPF 圆形水波纹进度条怎么做:从 XAML 结构到动画与依赖属性

C++ 中如何正确使用 delete 运算符

`delete` 是 C++ 动态内存管理里最容易写对、也最容易埋雷的基础操作。本文从 `delete` 与 `delete[]` 的区别讲起,再梳理栈、堆和智能指针的适用场景,最后总结安全释放内存时最常见的错误与更稳妥的现代 C++ 写法。

C++ 中如何正确使用 delete 运算符

W3C XML 发展脉络:从核心版本到扩展规范一次看清

这篇文章梳理了 W3C XML 的定位、版本演进和相关扩展规范。重点包括 XML 1.0 与 1.1 的发布时间、修订差异,以及命名空间、XLink、XPointer、XML Base、XInclude 等技术在 XML 体系中的作用。 XML 常被当成一种“老格式”一笔带过,但在 W3C 规范体系里,它其实是很多结构化数据标准的基础。本文从 XML 的定位讲起,再梳理 1.0 到 1.1 的版本变化,以及命名空间、XLink、XPointer、XML Base、XInclude 等配套技术分别解决什。

W3C XML 发展脉络:从核心版本到扩展规范一次看清

git 提交时怎么只选部分修改?把精准暂存这件事一次讲清楚

开发时多种改动混在一起很常见,真正困难的不是执行 `git add` 或 `git commit`,而是划清“这次该提交什么”。这篇文章用一个可复现实验仓库演示如何结合 `status`、`diff`、暂存区和 `git add --patch`,把代码、文档和本地杂项变化准确分开。

git 提交时怎么只选部分修改?把精准暂存这件事一次讲清楚

如何抑制不需要的编译器消息

C++ 编译器警告不该一股脑全部关掉,也不必被海量提示牵着走。本文从警告的类型与作用讲起,梳理 GCC、Clang、MSVC 中常见的抑制手段,并给出更稳妥的判断原则:什么时候该修代码,什么时候才适合定向关闭警告。

如何抑制不需要的编译器消息