首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
技术
订阅
WadeLiu威
更多收藏集
微信扫码分享
微信
新浪微博
QQ
54篇文章 · 0订阅
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
iOS 的 Code Signing 体系
iOS中的Code Signing体系非常复杂,对新手非常不友好,虽然目前网上已经存在大量文章对此进行比较透彻的分析,最核心的部分已经讲解得非常清楚,我阅读了这些文章后,确实从中学习到不少知识,但我始终还是对Code Signing体系中很多相关的地方有着疑惑,于是决定认真地探…
iOS标准库中常用数据结构和算法之位串
所谓位串就是由0和1组成的bit串,比如:010010110011101101101011。可以把位串看成是元素只有0和1组成的数组。一般情况下大量数据的标志位采用位串进行存储这样有利于存储空间的节省,比如磁盘中分配的记录块的空闲标志或者读写标志等。位串的索引是从右往左从0开始…
一个APP从启动到主页面显示经历了哪些过程?
本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理。不介绍具体源码,仅仅构建一个大体框架。 ⑦主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。 ⑧到此,App便正式启动,…
iOS RunTime 总结
RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。 class/object/method…的本质都是struct,因此在运行时也可以进行修改。 在<objc/runtime.h>中,可以找到一个叫objc_class的struct。我们看一下这…
老司机 iOS 周报 #81 | 2019-08-26
老司机 iOS 周报,只为你呈现有价值的信息。 你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。 @老峰:在大型项目中,经常会有这样的场景:我们明明只…
iOS程序员的自我修养-编译、链接过程(一)
OC是用Clang/LLVM来编译的。接下来我将用clang来展开整个过程。main.m文件源码如下: 平时用Xcode去Build,一键从源码到程序。这个过程中隐藏了预处理、编译、汇编和链接4个过程如下: 处理源代码文件中的以"#"开头的预编译指令。规则如下: "#defin…
iOS面向切面的TableView-AOPTableView
这个是公司很久之前的开源项目,一个大牛写的,在项目中一直有在用,今天有空发了点时间看下如何实现,看了之后感觉挺有收获,故撰此文,分享给需要的同学。 关于为何使用AOP,在MeetYouDevs/IMYAOPTableView这个库的简介中已经有提及到了,主要是针对在我们数据流中…
谈谈关于 iOS 的架构以及应用
一直以来想写一篇文章,但是没找到合适的主题,前段时间一直在看 Flutter 的一些东西,本来有意向想写关于 Flutter 的一些总结,但是看的有些零零散散,并且没有实际应用过,所以也就搁置了。正好最近一段时间除主业务之余,一直在做我们 甘草医生 用户端的重构,刚好有一些对于…
iOS内存不够怎么办?-底层原理
假设我们计算有128MB内存,程序A需要10MB,程序B需要100MB,程序C需要20MB。如果我们需要同时运行程序A和B,那么比较直接的做法是将内存的前10MB分配给程序A,10MB~110MB分配给B。 当多个程序需要运行时,必须保证这些程序用到的内存总量要小于计算机实际的…