首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
QYizhong
掘友等级
客户端研发工程师
|
字节跳动
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
110
文章 110
沸点 0
赞
110
返回
|
搜索文章
赞
文章( 110 )
沸点( 0 )
iOS 稳定性问题治理:卡死崩溃监控原理及最佳实践
通常 App 卡死时间超过 20s 之后会触发操作系统的保护机制,发生崩溃,此时在用户的设备中能找到操作系统生成的卡死崩溃日志,但是因为 iOS 系统封闭生态的关系,App 层面没有权限拿到卡死崩溃的日志。 一般而言用户遇到卡死问题的时候并没有耐心等待那么久的时间,可能在卡住 …
OCRunner•实现一个简单版OCRunner
在正文开始前,我们先看看给出的语法树解释执行.gif,OCRunner的核心解释执行部分也是如此。 如果你让我仅仅只靠文字就能给你解释清楚 OCRunner 是怎么运行起来的,你们可能是在为难我小蒋,肚子里墨水真的没那么多啊,太难了😂。所以在这一小节,我给大家准备了一个简单版…
抖音品质建设 - iOS启动优化《实战篇》
启动是 App 给用户的第一印象,启动越慢,用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多,面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战,本文是实战篇。 对应着本文的三大模块:监控,工具和最佳实践。 既然要监控,那么就…
iOS App 瘦身减肥记
而且我最近也发现了一个惊人的现象, 网上很多关于瘦身的文章开头上都是“最近公司项目不忙,正好利用清闲时间把项目瘦瘦身。” 要么就是 “最近老大说要优化项目包体积 ,正好有时间.....” balabala~。 其实App持续迭代,团队之间不断合入代码和资源,如果在开发过程中不多…
Blocks原理探究
Blocks可以用一句话来概括:带有自动变量的匿名函数。关于Blocks的语法和用法,本文不在过度赘述。而是聚集于Blocks的本质到底是什么?他是怎么实现的? Block实际上是C语言的扩充,也就是说,Block语法源代码是会被编译为普通的C语言源代码的。通过clang可以将…
抖音品质建设 - iOS 安装包大小优化实践篇
客户端开发的同学都知道「安装包大小」是 App 重要的基础体验指标之一。今天将为大家介绍抖音在优化安装包大小方向做的一些探索和尝试。 一些影响包大小的编码习惯。 Part 1. 包大小劣化到底带来什么影响 要说 iOS 平台上安装包大小对 App 的影响,首先需要了解到的是 A…
iOS 从源码解析Runtime (八):聚焦cache_t及方法缓存实现相关内容篇(1)
cache 是 objc_class 的第三个成员变量,类型是 cache_t。从数据结构角度及使用方法来看 cache_t 的话,它是一个 SEL 作为 Key ,SEL + IMP(bucket_t) 作为 Value 的散列表。为了对方法缓存先有一个大致的了解,我们首先解…
OC底层知识点之 - 内存管理(上)
规则与MRC一致,区别在于,ARC模式下不需要手动retain、release、autorelease。编译器会在适当的位置插入release和autorelease。 2.Nonpointer_isa:非指针类型的isa,主要是用来优化64位地址。这个在OC底层原理之-OC对…
监控所有的OC方法耗时
类似os_signpost,支持针对每个功能点监控性能问题。 支持显示调用堆栈。(维护stack frame) ,受益良多。我运用其中的hook objc_msgSend思想,写一个监控App里所有耗时的OC方法,以便以后开发过程中,能时刻监控App耗时性能问题。本文主要包含两…
iOS中的内嵌汇编
写一篇在iOS上使用汇编的文章的想法在脑袋里面停留了很久了,但是迟迟没有动手。虽然早前在做启动耗时优化的工作中,也做过通过拦截objc_msgSend并插入汇编指令来统计方法调用耗时的工作,但也只仅此而已。刚好最近的时间项目在做安全加固,需要写更多的汇编来提高安全性(文章内汇编…
下一页
个人成就
文章被点赞
209
文章被阅读
73,725
掘力值
1,710
关注了
8
关注者
176
收藏集
3
关注标签
10
加入于
2019-05-11