Skip to content

Commit f0bf919

Browse files
committed
fix #5387
1 parent 9d29127 commit f0bf919

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

Reports/2026/#374-2026.07.06.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,20 @@
3838

3939
[@DylanYang](https://github.com/Dylan19Yang):本文介绍了 iOS 17 ~ iOS 26 中 SwiftUI SensoryFeedback 的底层缓存设计缺陷:连续变化的 intensity 浮点参数会被纳入反馈生成器的缓存 Key,导致滑动调节强度时生成大量冗余实例,引发内存持续上涨。文章也解读了 iOS 27 的官方修复思路 —— 将 SensoryFeedback 拆分为稳定的 type 与动态的 payload 两部分,仅以类型作为缓存标识,在不改动公共 API 的前提下从架构层面解决了问题。
4040

41+
### 🐢 [SwiftUI Is One Graph, Over 40+ Years of Engineering](https://aleahim.com/blog/swiftui-is-one-graph/)
42+
43+
[@阿权](https://github.com/bqlin):文章从工程和专利两个独立维度剖析了 SwiftUI 的本质:
44+
45+
1. SwiftUI 的本质:不是一棵视图树,而是单一的需求驱动属性图。每个视图编译为属性节点,依赖关系通过求值时实际读取来动态发现,而非声明。变更时只标记脏节点,沿依赖边向前传播,然后按需拉取并缓存,从而实现极小的更新成本(与变更相关,而非 UI 规模)。
46+
2. 核心机制:
47+
1. `View` 是值(struct),`@State` 按标识持久存储,标识为结构位置(类型+树位置),显式 `.id` 与之配对。
48+
2. 布局是父提议、子自选、父放置的协商,父不强制尺寸。
49+
3. SwiftUI 合并图层,而不是每 `View` 一层,大幅减少图层数,但合并内容变化需重绘。
50+
4. 动画时模型直接跳到终值,框架复制目标并注入插值呈现。
51+
3. 专利印证:苹果专利 US 11,042,388 B2 完整描述了属性图、脏位、自底向上更新、动画记录和模型/呈现副本分离,与行为观察完全一致。
52+
53+
SwiftUI 只是底层技术栈(Core Animation、Core Graphics、Core Text、Core Image)之上的一层薄图,其优雅但“无趣”。真正震撼的是 Core Animation 等底层引擎。SwiftUI 最初为简化 watchOS 开发而生,后被推广至全平台;虽能让开发者快速交付功能,但仅掌握 SwiftUI 等同于只懂 “门面”,未真正理解苹果平台的底层技术,而底层的合成、绘图、排版引擎才是解决复杂问题的关键,SwiftUI 只是切入这些核心技术的 “便捷入口”。
54+
4155
### 🐕 [系统化的iOS面试知识库](https://github.com/ChaselAn/awesome-ios-interview)
4256

4357
[@含笑饮砒霜](https://weibo.com/chinafishnews/):这个仓库是一个系统化的 iOS 面试知识库,可以帮助 iOS 开发者从基础到进阶梳理面试所需知识。它以 README 和文章目录为入口,内容覆盖 Objective-C/Swift 基础、Runtime、RunLoop、内存管理、多线程、网络、性能优化、架构设计、组件化、底层原理等常见面试主题,适合用来做面试前的知识复盘和查漏补缺。

0 commit comments

Comments
 (0)