
ios
文章平均质量分 95
字节跳动终端技术
这个作者很懒,什么都没留下…
展开
-
中心化决议管理——云端分析
云端分析是针对 CocoaPods 依赖管理云端化的优化方案。对大量重复的 iOS 工程构建任务进行了收敛和资源复用,在保证正确性的前提下达到了加速依赖管理速率的目的,实现了 Pod install 分析阶段提速 60% 以上的能力。原创 2022-09-26 11:31:58 · 844 阅读 · 0 评论 -
iOS自动化测试驱动工具探索
本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理。原创 2022-03-03 14:44:29 · 12050 阅读 · 0 评论 -
让工程师拥有一台“超级”计算机——字节跳动客户端编译加速方案
分布式编译和编译缓存是提升大型项目编译效率的两大法宝。本文主要介绍了字节跳动的分布式编译解决方案。原创 2022-02-17 14:28:14 · 1919 阅读 · 0 评论 -
火山引擎MARS- APMPlus专栏—— iOS Heimdallr 卡死卡顿监控方案与优化之路
本文主要介绍Heimdallr对卡死、卡顿异常的监控原理,并结合长时间的业务沉淀发现的问题进行不断迭代和优化,逐步实现全面、稳定、可靠的历程。原创 2022-01-20 16:15:49 · 2788 阅读 · 0 评论 -
APP性能分析工作台——性能分析更方便啦
目前 MARS-App 性能分析工作台版本为开发者提供Fastbot桌面版的服务。 旨在帮助开发者们更快、更便捷地开启智能测试之旅,成倍提升稳定性测试的效率。原创 2022-01-13 20:26:08 · 2586 阅读 · 0 评论 -
字节跳动如何系统性治理 iOS 稳定性问题
本文是丰亚东讲师在2021 ArchSummit 全球架构师峰会中「如何系统性治理 iOS 稳定性问题」的分享全文,公众号后台回复“AS”获取分享完整 PPT。首先做一下自我介绍:我是丰亚东,2016 年 4 月加入字节跳动,先后负责今日头条 App 的工程架构、基础库和体验优化等基础技术方向。2017 年 12 月至今专注在 APM 方向,从 0 到 1 参与了字节跳动 APM 中台的建设,服务于字节的全系产品,目前主要负责 iOS 端的性能稳定性监控和优化。本次分享主要分为四大章节,分别是:1.原创 2021-11-25 16:10:15 · 2012 阅读 · 0 评论 -
拒绝编译等待 - 动态研发模式 ARK
作者:字节跳动终端技术——徐纪光背景iOS 业界研发模式多为 CocoaPods + Xcode + Git 的多仓组件化开发模型。为追求极致的研发体验、提升研发效率,对该研发模式进行了大量优化,但目前遇到了以下瓶颈,亟需突破:pod install 时间长:编译优化绝大部分任务放在了 CocoaPods 上,CocoaPods 承担了更多工作,执行时间因此变长。编译时间长:虽然现阶段绝大部分工程已经从源码编译转型成二进制编译,但编译耗时依旧在十分钟左右,且现有工程基础上已无更好优化手段。超大型原创 2021-11-17 11:48:38 · 1486 阅读 · 0 评论 -
再谈字节小程序
作者:字节小程序基础技术团队-杨德立前言如今,全网小程序数量已超700w+个,细分行业200+个,开发者数量超500w个,作为移动互联网的重要新基建小程序互联网已成型,用户习惯已经养成。字节小程序身处大的生态之中,基于字节APP而建。围绕开放场景、开放接口、开放信任关系搭建的一套以小程序为最终落地的技术载体连接外部企业主体所提供服务的全链路生态解决方案。方案在主要提供和具备多页应用级形态的开发和运行模式同时,还提供了单页、卡片等的开发和运行模式,可支持多形态和运行模式间的运行时打通和联动。目前已经覆盖原创 2021-10-22 17:35:12 · 1776 阅读 · 0 评论 -
火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性
通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%。大幅提升了用户体验,为飞书的性能品质保驾护航。应用程序稳定性是影响用户体验及留存的关键因素对于移动App的开发者来说,最基础也是最关注的问题就是应用程序的稳定性。而崩溃问题是影响稳定性的重要因素, 包括NSException、Signal、卡死、OOM(Out Of Memory)等问题类型。其中,OOM问题是随着业务的迭代,慢慢.原创 2021-10-13 11:17:38 · 1217 阅读 · 0 评论 -
深入 iOS 静态链接器(一)— ld64
作者:字节跳动终端技术——李翔前言静态链接(static linking)是程序构建中的一个重要环节,它负责分析 compiler 等模块输出的 .o、.a、.dylib 、经过对 symbol 的解析、重定向、聚合,组装出 executable 供运行时 loader 和 dynamic linker 来执行,有着承上启下的作用。对于 iOS 工程而言,目前负责静态链接的主要是 ld64。苹果对 ld64 加持了一些功能,以适配 iOS 项目的构建,比如:现在在 Xcode 中即使不主动管.原创 2021-09-23 20:55:39 · 1829 阅读 · 0 评论 -
Flutter 多引擎支持 PlatformView 以及线程合并解决方案
作者:字节移动技术-李皓骅摘要本文介绍了 Flutter 多引擎下,使用 PlatformView 场景时不能绕开的一个线程合并问题,以及它最终的解决方案。最终 Pull Request 已经 merge 到 Google 官方 Flutter 仓库:https://github.com/flutter/engine/pull/27662本文关键点:线程合并,实际上指的并不是操作系统有什么高级接口,可以把两个 pthread 合起来,而是 flutter 引擎中的四大 Task Runner .原创 2021-09-09 19:44:35 · 1295 阅读 · 0 评论 -
一起来找茬:记一起 clang 开启 -Oz 选项引发的血案
作者:字节跳动终端技术 —— 刘夏前言笔者来自字节跳动终端技术 AppHealth (Client Infrastructure - AppHealth) 团队,在工作中我们会对开源 LLVM 及 Swift 工具链进行维护和定制,推动各项编译器优化在业务场景中的落地。编译器作为一个复杂的软件也会有 bug,也会有各种兼容性和正确性的问题,这里我们分享一则开启 clang 的 -Oz 优化选项时发现的编译器缺陷。问题在 Xcode 中我们可以对 clang 编译器设置不同的优化等级,比如在 ..原创 2021-07-29 20:18:30 · 1057 阅读 · 0 评论