首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Basic
订阅
框框
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
iOS 界的毒瘤:Method Swizzle
iOS 界的毒瘤:Method Swizzle
二维码扫码优化技术方案
一、背景在过去的2017年,支付宝的线下场景不断扩大,收钱码、口碑、共享单车、充电宝、停车缴费等产品让我们的生活越来越便利。二维码因为成本低、兼容性好成为了线上线上最主要的连接工具,也因此面临更多新的
一个iOS程序员的自我修养(一)编译和链接
对于平常的应用开发,我们很少关注编译和链接过程,因为 Xcode 在 build 的时候将编译和链接合并到了一起一步完成。以mian.m为例: 以上过程可以被成 4 个步骤,分别是预处理,编译,汇编和链接。 将所有的“#”删除,并且展开所有的宏定义。 处理所有条件预编译指令,比…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
一文读懂iOS线程调用栈原理
还要一个重要的用途就是应用性能优化中的“卡顿检测”,需要获取主线程的调用栈,来检测具体的函数调用过程分析耗时来优化性能。 卡顿检测获取线程堆栈信息,如微信开源性能探测工具Matrix,检测包括崩溃、卡顿及爆内存,目前包含两个插件:WCCrashBlockMonitorPlugi…
深入探索 iOS 内存优化
1945 年,冯·诺伊曼体系结构被提出,奠定了计算机的基础,同时其局限性也限制了计算机的进一步发展,直至现代,计算机体系还是没能逃离其局限性,只是陆续对其组织结构进行优化而已。 冯·诺伊曼体系结将计算机分为运算器、控制器、存储器、输入设备和输出设备五大部分,由于存储器的读写效率…
iOS 编译原理与应用
在Xcode中,当我们按下command + B进行build操作后发生了那些事情,这是一个将代码编译的过程。Xcode现在使用的编译器是LLVM,Xcode 早期使用的是GCC编译器,由于一些历史原因,从Xcode5开始正式过渡到使用LLVM编译器。下文将着重介绍LLVM。 …
Clang Rewrite视角OC类结构分析与部分常见考点
0. 简介 本文利用clang -rewrite-objc探索了类、元类中存储的信息;类、元类、根源类的关系。 在开发中,请使用运行时API,而不是指针偏移、mask等更底层的方式获取信息。 因为苹果可能对这底层逻辑进行优化,如果直接访问会有不稳定的问题,但对外提供的API是稳…
iOS启动优化之路【进阶之路三】
前言 随着App业务不断地增加,也迭代了不少的版本,功能不断的完善,跟着而来的是用户对手机性能体验的不断提高。 App启动及框架底层的研究,会以下面一个逻辑分为5篇博客进行讲解:欢迎关注及点赞!!!
cocoapods-ybin二进制源码映射使用教程
随着项目业务的不断迭代和新增,每个业务线负责不同的功能模块,组件化势必是需要进行的工作。业界内,无论是哪种组件化方案,目的是一样的,分离业务和功能。 组件化虽好,但是组件化只是将不同的业务分离或者不同的功能分离和分层,实际上还是在一个代码池里每次 build 需要进行编译、汇编…