首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
收集
订阅
大鱼D
更多收藏集
微信扫码分享
微信
新浪微博
QQ
52篇文章 · 0订阅
抖音品质建设 - iOS启动优化《实战篇》
启动是 App 给用户的第一印象,启动越慢,用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多,面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战,本文是实战篇。 对应着本文的三大模块:监控,工具和最佳实践。 既然要监控,那么就…
今日头条 iOS 安装包大小优化 - 新阶段、新实践
今日头条 iOS 端从 2016 年起就关注到了安装包大小的问题,并启动了包大小优化。2017 年,我们将当时的经验发表为技术文章 《干货|今日头条iOS端安装包大小优化—思路与实践》[1]。 如今三年过去了。今日头条在继续探索包大小优化时实践了更多思路,包括构建配置、图片压缩…
【iOS内功】ARM汇编实战,解析iOS14 UICollectionView死循环问题
9月初iOS14正式发布,线上版本新冒出许多Crash。有一个Crash,UICollectionView刷新逻辑死循环,卡死了主线程。 阳差阳错,中美两个程序员的“误会”造成了这个Crash。 App有一个页面,自定义了一个XXCollectionView。XXCollect…
【iOS内功】使用Hopper定位疑难问题
如果Crash堆栈,最后一个方法是在自己工程的源码,问题都比较好解决。但如果最后落到了系统库的方法里,并且系统库还没开源,这时候要定位原因就非常困难了。于是我们只能读汇编代码,或反汇编分析伪代码。下面介绍Hopper Disassembler,它是较常用的的反汇编工具 通过官网…
iOS 基于 Cocoapods 插件进行组件二进制的探索
目前已知的组件二进制开源方案都是采用 Cocoapods Plugin 的方式实现的,比如说二进制插件 cocoapods-bin,基于插件化能力和 Ruby 语言的一些特性,使它能够很容易的围绕 Cocoapods 的源码来制作。Cocoapods 插件需要使用 Ruby 编…
iOS编译速度如何稳定提高10倍以上之一
经过多年的发展,美柚iOS项目代码已经达到40W行+的规模,所使用的 Pod 库的数量达到了110+,App Store 安装包210M+,在这么大的项目规模下(CI机器 MAC配置:3 GHz 8-Core Intel Xeon E5;时间:发布20min+),(开发机器iM…
教你使用 WKWebView 的正确姿势
WKWebView 是 iOS 8 之后提供的一款浏览器组件,其载入速度和内存占用对比老的 UIWebView 来说简直是一次飞跃。下面对比 UIWebView 介绍该组件如何去使用,以及使用过程中会存在的问题。
CocoaPods对三方库的管理探究
CocoaPods是iOS开发中经常被用到的第三方库管理工具,我们有必要深入了解一下它对项目产生了什么影响,以及它是如何工作的。 从目录看,除了pod init引入了Podfile,其余三部分内容:FFDemo.xcworkspace、Podfile.lock、Pods目录都是…
UIView 动画降帧探究
众所周知,刷新频率越高体验越好,对于 iOS app 的刷新频率应该是越接近越 60fps 越好,这里主动给动画降帧,肯定会影响动画的体验。但是另一方面,我们也知道动画渲染的过程中需要消耗大量的 GPU 资源,所以给动画降帧则可以给 GPU 减负,降低 GPU 使用率峰值。 所…
Core Text 编程指南
Core Text 是一种用于处理字体和文本布局的底层高级技术,自 Mac OS X v10.5 和 iOS 3.2 开始引入,你可以从所有 iOS 及 OS X 的开发环境中使用其 API。 Core Text 直接与 Core Graphics(Quartz)协调作业。Qu…