File tree Expand file tree Collapse file tree 1 file changed +26
-1
lines changed
Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Original file line number Diff line number Diff line change 7777
7878本文提供的技术方案设计模板和开发规范 Rules 可直接复用,帮助开发者快速建立 AI 辅助编程工作流。文中揭示的"代码生成+架构决策"分层协作模式,为现代软件开发提供了高效的智能解决方案。
7979
80-
8180### 🐕 [ Flutter 又双叒叕可以在 iOS 26 的真机上 hotload 运行了,来看看又是什么黑科技] ( https://mp.weixin.qq.com/s/jGqJFTlLqF2N_rqVdSkLKQ )
8281
8382[ @Damien ] ( https://github.com/ZengyiMa ) :由于iOS 26 beta1 禁止了 Debug 时 mprotect 的 RX 权限,导致 Flutte r在iOS 26真机上 Debug 运行时出现了问题。为了解决这一问题,Flutter 团队采用了一种临时方案,即创建了 NOTIFY_DEBUGGER_ABOUT_RX_PAGES 函数。当 Flutter 应用需要执行新代码时,该函数会暂停应用并通知调试器,调试器随后利用其特权,通过 debugserver 修改内存权限,实现“双地址映射”,其中一个地址用于写入代码,另一个地址用于执行代码。这一方案虽然解决了当前的运行问题,但存在一定的延迟和较高的环境要求,未来仍需开发高性能的 Debug 解释器来提供更完善的解决方案。
8483
84+ ### 🐢 [ btrace 3.0 对外开源:重磅新增 iOS 支持!免插桩原理大揭秘!] ( https://github.com/bytedance/btrace/blob/master/INTRODUCTION.zh-CN.MD )
85+
86+ [ @JonyFang ] ( https://github.com/JonyFang ) : btrace 是字节开源的一款高性能 Android/iOS 端性能追踪(Tracing)工具,基于 Perfetto 进行数据展示。它能够详细记录方法的调用过程,精准分析耗时,并归因性能瓶颈,兼具高采样精度和低性能损耗。与 Apple 的 Time Profiler 等传统工具相比,btrace 更加灵活、可自定义,并支持系统方法追踪、有丰富的数据归因和可视化能力,能帮助开发者深入理解和优化 App 性能。
87+
88+ btrace 3.0 相比 2.0 的优化(iOS 视角):
89+
90+ 1 . 采集方案升级。
91+ 3.0 由单一编译期插桩,升级为“同步抓栈+异步抓栈”的混合采样方案。同步抓栈通过 hook 高频系统方法和关键节点,实时采集 Trace 数据;异步抓栈则通过独立采样线程定时回溯线程调用栈,保证采集的时间连续性。相比 2.0,3.0 大幅降低了接入和维护成本,采集更全面、对系统方法也支持更好。
92+
93+ 2 . 数据存储与压缩优化。
94+ 3.0 针对 Trace 数据量大、存储压力大等问题,设计了高效的调用栈去重与压缩结构。通过空间相似性(调用栈公共前缀合并)、时间相似性(连续相同栈合并)等手段,进一步减少内存和磁盘占用,提升了大体量数据下的可用性。
95+
96+ 3 . 多线程与性能再提升。
97+ 3.0 优化了多线程数据写入的并发安全性与性能,采用 CAS 等无锁/低锁技术,兼顾高性能与数据一致性,在复杂多线程场景下依然保持低开销。
98+
99+ 4 . 死锁规避与线程采样精细化。
100+ 异步采样时规避了 Time Profiler 可能导致的死锁风险,通过黑名单和信号安全 API 控制,提升了工具的稳定性。同时,仅采集活跃线程,有效降低了对 App 性能的影响。
101+
102+ 5 . 丰富的性能归因与可视化。
103+ 除了基本的方法调用追踪,3.0 进一步支持 CPU 时间、对象分配、缺页/上下文切换、线程阻塞等多维度的耗时归因,配合 Perfetto 可视化,帮助开发者一站式定位性能瓶颈。
104+
105+ 6 . 易用性和生态提升。
106+ 3.0 极大简化了接入流程,无需业务侧代码大改,无侵入式支持线上场景,支持性能自动诊断和多端(Android/iOS/鸿蒙/Web)扩展,生态愈发完善。
107+
108+ 整体来看,btrace 3.0 对 iOS 开发者而言,是一款集高性能、易用性、灵活性于一体的专业 Trace 工具。相比 2.0,3.0 大幅优化了采集方式、性能、安全性和数据分析能力,适合需要深入性能调优、线上问题定位和日常性能治理使用,推荐纳入工程实践!
109+
85110## 工具
86111
87112> 开发过程中常用的工具,及一些新工具的介绍
You can’t perform that action at this time.
0 commit comments