• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
30 search results Contribute

正如《iOS Monorepo 全源码解决方案》 提到,Monorepo方案,把二方库全源码化,导致需要编译的源文件比之前大很多,如下图所示: Image 以头条工程为例,一次构建涉及的ObjC源文件,数量从几千提升到接近三万。 如果不采取措施,构建时间也会增长为原先的数倍,纵使Monorepo有再多优势,也显得苍白无力。 虽然面临极大的挑战,但当Monorepo正式上线的时候,大家却惊喜的发现编译速度比之前更快了。我们是如何做到这一点的呢,本文就和大家详细聊一聊这背后的技术细节。

12 Technology lddgo Shared on 2023-04-18

本次实验室带来的是《OpenGLES 实验室之2D篇 第二弹 の 瘦脸修图》。 如果读者还记得之前其他作者发过的一篇文章《如何实现图片的扭曲效果,窗帘效果及仿真水波纹效果,修图技术之瘦身瘦脸效果的实现(android-drawBitmapMesh)》,是介绍 Android 的 drawBitmapMesh,可以快速实现图像扭曲效果的API。那时笔者看完后,想想 iOS 也可以有,基于 OpenGLES 封装出类似的 API。因此有了本次实验 & Demo。

18 Technology lddgo Shared on 2023-03-31

在组件化的浪潮下,公司引入多仓开发对工程架构进行解耦、跨业务技术能力复用,并辅以组件(混合)二进制化进行编译提速。不过随着工程规模增长、业务复杂度提升,多仓二进制的弊端日益凸显: 合码效率低下:多仓的引入使开发流程变复杂,最有代表性的合码环节一次合码涉及到主仓和多个组件,每个组件要跑 Pipeline 流程进行版本发布。因涉及到组件发布,从而引入了 MR 锁,进而导致吞吐量有限。如果某个组件失败,那么 MR 需要重新跑一遍流程。这种模式提升了 CI 复杂度,降低了合码效率(封板排队时间可达 6h+) 依赖管理衍生问题:稳定性差,多仓使环境依赖度变高,稳定性变成多个仓库稳定性的乘积。即使每个仓库成功率是 99.9%,每次 install 成功的概率也仅有 74%;版本溯源性差,项目通过依赖动态决议生成,无法做到 single source of truth。 代码的可视性和可控性降低:跨组件重构困难,全量静态检测无从入手,并且很难统一架构规范;本地开发体验差,工程代码可信度低,无法直接对代码进行开发调试,本地开发需要更多的工具和流程来保证代码的可视性和可控性。

12 Technology lddgo Shared on 2023-03-31

2022 年的 3 月中旬,伴随着 iOS 15.4 系统的发布,夸克 iOS 客户端在崩溃率方面有了一波急速的上涨,严重影响了用户的使用体验。除此之外,距离上一次稳定性治理的集中推动也已经过去了很长的时间,线上也积攒了不少历史问题。因此,夸克 iOS 侧中精力持续推动了稳定性治理的工作,在清理新增问题的同时,也重点解决了长期盘踞在崩溃榜单的顽固性问题。

36 Technology lddgo Shared on 2023-02-08

ARC 环境下在多线程中执行赋值代码可能会产生野指针,导致 EXC_BAD_ACCESS 崩溃。 这种崩溃发生的概率很低,在开发和灰度阶段即使执行到相应代码也很难崩溃,因此容易遗漏到正式环境。在上亿级用户的 App 往往会成为 Top 问题,对指标造成影响,并且很难排查。 今日头条在治理 Crash 的过程中彻底解决了数十个此类崩溃,发现其具有一定共性。本文详细分析崩溃发生的过程,以及总结了容易出现问题的场景,希望在大家遇到此类问题时能提供一些思路。

18 Technology lddgo Shared on 2022-12-23

最近在线上遇到了一些[HMDConfigManager remoteConfigWithAppID:]卡死

28 Technology lddgo Shared on 2022-11-24

这篇文章从系统权限、API 调用、架构设计等角度,生动演示了一个设计友好、模块独立、易拓展以及用户体验优秀的相册是如何开发出来的。除此之外,作者针对各种小细节也做了优化和解析,使得功能实现更加的丰满。文章整体读下来,可以让读者对于相册的设计和开发有深刻的印象,具备极大的指导意义,推荐阅读!

70 Technology lddgo Shared on 2022-11-22

苹果在 WWDC22 中,提出了实时活动(Live Activity)的概念,以便于用户在锁屏查看一些应用实时活动的更新,这与盒马的配送场景十分贴合。因此,我们将 Live Activity & “灵动岛” 特性第一时间落地到盒马 30 分钟配送场景,并作为第一批适配实时活动的 iOS 应用,获得 App Store Today 推荐。 目前,盒马 App 适配“灵动岛”的最新 5.51.1 版本已正式上线,欢迎大家升级体验。在适配过程中,盒马 App 也在端侧踩过很多“坑”,特此汇总为实战经验分享给大家,欢迎交流。

35 Technology lddgo Shared on 2022-11-01

包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。 包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器技术、CocoaPods构建技术、图片压缩技术、持续集成技术。 本文总结提炼了Alibaba.com App的瘦身的技术和策略,系统化地介绍APP瘦身的业务价值、分析技术、瘦身技术、防劣化机制,让读者可以系统化地了解APP瘦身的技术体系。本文还基于实践经验,介绍各种瘦身技术的ROI,让读者可以避免踩雷,将资源浪费在效果不佳的技术上。希望对你有所帮助。

36 Technology lddgo Shared on 2022-09-28

包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器技术、CocoaPods构建技术、图片压缩技术、持续集成技术。本文总结提炼了Alibaba.com App的瘦身的技术和策略,系统化地介绍APP瘦身的业务价值、分析技术、瘦身技术、防劣化机制,让读者可以系统化地了解APP瘦身的技术体系。本文还基于实践经验,介绍各种瘦身技术的ROI,让读者可以避免踩雷,将资源浪费在效果不佳的技术上。希望对你有所帮助。

47 Technology lddgo Shared on 2022-09-15