首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 进阶
订阅
ChenJz
更多收藏集
微信扫码分享
微信
新浪微博
QQ
108篇文章 · 0订阅
iOS 从源码解析Runtime (七):聚焦objc_object(dealloc、autorelease返回值优化篇)
对象 Dealloc 的内部实现。如下条件全部为真的话,可以直接调用 free 进行快速释放内存。 对象的 isa 是优化的 isa。 对象不存在弱引用。 对象没有关联对象。 对象没有 C++ 的析构的函数。 对象的引用计数没有保存在 SideTable 中。 至此 rootD…
教你使用swift写编译器玩具(5)
本章对应官方教程第5章,本章介绍如何扩展Kaleidoscope以使用if / then / else表达式和一个简单的for循环。 if / then / else也是一种表达式,我们需要把它计算为int1类型,0是假,1是真。如果if表达式计算为真返回then表达式,否则返…
聊聊 iOS 中的像素对齐
在 iOS 中画出一像素的线,为什么有时画出来线很虚很糊,有的时候不会? 在 iOS 中画一个非整数宽高视图,系统会启动什么样的机制来应对? 我深究了一下,想同步给你。
西瓜视频iOS启动优化实践
启动是用户使用一款产品的第一印象,长时间的启动等待将会消磨用户的耐心。根据过往实验经验,若应用的启动时间减少,那么则能有效的降低0vv(启动后0播放量),因此启动耗时是西瓜客户端品质的核心指标之一。
教你使用swift写编译器玩具(1)
本项目参考官方文档编写,为了图方便与官方文档一样写了不少全局变量,这在实际工程中不是一个好的处理方式。 注意:教程中使用extern调用标准库本文并未实现,仅实现了extern的解析。 我们在实现语言时,首先需要能识别代码内容。通常情况下我们使用词法分析器(Lexer),将输入…
iOS APP虚拟内存用量初探
业务上出现过因为虚拟内存耗尽导致的crash,后续也通过设置为APP扩展虚拟内存的可用范围,本文主要基于以上背景对虚拟内存进行一些调研
写给 Android 应用工程师的 Binder 原理剖析
一. 前言 这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔。生怕自己理解上还有偏差,对大家造成误解,贻笑大方。又怕自己理解不够透彻,无法用清晰直白的文字准确的表达出 Binder 的设计精髓。直到今天提笔写作时还依旧战战兢兢。 Binder 之复杂远远不是一…
iOS如何提高10倍以上编译速度
经过多年的发展,美柚iOS项目代码已经达到40W行+的规模,所使用的 Pod 库的数量达到了110+,App Store 安装包210M+,在这么大的项目规模下(CI机器 MAC配置:3 GHz 8-Core Intel Xeon E5;时间:发布20min+),(开发机器iM…
iOS - iOS - 第三方输入法App原理调研、App Group数据共享
1.如何开发一款第三方键盘App 2.输入法的完全访问是做什么的 3.App groups数据共享 4.沙箱逃脱
理解 Clang Module 和 Module Map 语法
Clang Module 是大概 2013 年左右出现的,它的出现是为了解决传统基于 C 语言的编程语言的头文件包含的弊端。也是现代 Apple 平台软件开发一定会用到的一个技术,了解 Clang M