首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
原理性质
订阅
dddwncty
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
iOS底层原理总结 - 探寻block的本质(一)
block本质上也是一个oc对象,他内部也有一个isa指针。block是封装了函数调用以及函数调用环境的OC对象。 上图中将c++中block的声明和定义分别与oc代码中相对应显示。将c++中block的声明和调用分别取出来查看其内部实现。 上述定义代码中,可以发现,block…
iOS - 渲染原理
我们所看到的动态的屏幕的成像其实和视频一样也是一帧一帧组成的。为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产生一系列的定时信号。当电子枪换行进行扫描时,显示器会发出一个水平同步信号(horizonal synchronization),简…
浅谈移动端图片压缩(iOS & Android)
在 App 中,如果分享、发布、上传功能涉及到图片,必不可少会对图片进行一定程度的压缩。笔者最近在公司项目中恰好重构了双端(iOS&Android)的图片压缩模块。本文会非常基础的讲解一些图片压缩的方式和思路。 点阵图:也叫位图。用像素为单位,像素保存颜色信息,排列像素实现显示…
深入理解 Autolayout 与列表性能 -- 背锅的 Cassowary 和偷懒的 CPU
这篇文章会通过对 autolayout 内部实现的探索和数据分析和对 autolayout 的性能问题做一个详细的分析,并在最后给出一个高性能 autolayout 的解决方案。开始看文章之前,可以先试试这个 demo ,使用 YYKit demo 数据做的微博 Feed 列表…
iOS拾遗——为什么必须在主线程操作UI
究竟为什么一定要在主线程操作UI呢?如果在后台线程对UI进行操作会发生什么?在后台线程对UI进行操作不是可以更好的避免卡顿吗?这篇文章就是基于这样一些疑问而产生的。
Crash监控平台Sentry的iOS SDK源码解析(一)
Sentry是一个实时事件日志记录和汇集的平台。其专注于错误监控以及提取一切事后处理所需信息而不依赖于麻烦的用户反馈。在国内例如Bugtags、Bugly等APP crash 采集平台。但是Sentry 的优势在于支持服务端、Android、iOS、Web等N种平台。还有最重要…
GCD死锁
也会造成死锁,说明什么任务1,2,3的解释有问题,那到底是什么造成的死锁呢???请认真看文章。 queue:队列分为串行和并行,队列是任务的容器。就像排队买东西,串行是大家排成一队一个一个的买,先来的先买,后来的后买;并行是大家并排排,同时买,谁先买完的看脸。 使用dispat…
了解和分析iOS Crash Report
当app发生crash时会产生crash report,这对我们定位crash的原因非常有帮助。这篇文档重点介绍了如何符号化、看懂并解析一篇crash Report。 当app发生crash时,系统会生成crash report并存储在设备上。crash report会描述ap…
为什么要设计metaclass
今早起床打开微信,发现知识小集推送了一篇文章《阿里、字节:一套高效的iOS面试题》,打开瞅了眼,看到第二题就给我看懵圈了,为什么要设计metaclass?在我的知识体系中关于元类的认知是类对象的isa指向元类对象,元类对象存储着类方法列表,然后就没有然后了。 带着这个疑问我边开…