首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
焚雪残阳
掘友等级
iOS开发
一个菜鸟iOS开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
23
文章 23
沸点 0
赞
23
返回
|
搜索文章
最新
热门
【iOS】Runtime底层详解
下列代码是仿照objc_class结构体,提取其中需要使用到的信息,自定义的一个结构体。 可以看出,每个类都对应有一个class_rw_t结构体,class_rw_t结构体内有一个指向class_ro_t结构体的指针。在编译期间,class_ro_t结构体就已经确定,objc_…
【iOS】RunLoop底层详解
Runloop是通过内部维护的事件循环来对事件/消息进行管理的一个对象。事件循环不是while死循环,而是状态转换,即用户态-内核态的转换。 1.Observer事件:runloop中状态变化时进行通知。(微信卡顿监控就是利用这个事件通知来记录下最近一次main runloop…
【iOS】iOS启动优化方案
1. pre-main阶段 1.1. 加载应用的可执行文件 1.2. 加载动态链接库加载器dyld(dynamic loader) 1.3. dyld递归加载应用所有依赖的dylib(dynamic library 2. main()阶段 2.1. dyld调用main() 2…
【iOS】iOS网络优化方案
无论是HTTP还是Socket长连接,第一步都要经过DNS解析出ip,然后再根据ip去拿对应的资源。在这个过程中,如果LocalDNS中存在这个域名对应的ip,就会直接返回这个ip,类似于App内做的缓存。如果不存在,才会去权威DNS查询改访问哪个ip,然后查询到的ip会在Lo…
【iOS】iOS卡顿优化方案
图像的显示原理:图像的显示需要GPU和CPU两者配合,CPU主要负责视图的创建,布局的计算和视图的绘制,然后进行图片的解码,将生成的位图交给GPU,GPU进行渲染,并将渲染的结果交到帧缓冲区,待下一个VSync 信号到来的时候视频控制器从帧缓冲区取出数据,经过转换,显示到屏幕上…
【iOS】iOS电量优化方案
如果只是需要快速确定用户的位置,最好用CLLocationManager的requestLocation方法。定位完成后,会自动让定位硬件断电; 尽量降低定位精度,比如尽量不要使用精度最高的KCLLocationAccuracyBest。精度越高,硬件模块功耗越大; 合理使用N…
【iOS】搭建本地http服务,并实现简单的GET与POST请求
最近的一个项目中,需要向 safari 前端页面传输数据,研究了一番之后发现只有搭建本地http服务才能完美解决这一需求。查询一番资料之后,我决定采用CocoaHttpServer这个现成的轮子。CocoaHttpServer是由deusty designs开源的一个项目,支持…
【iOS】NSURLSessionDataTask实现下载
对于iOS中的文件下载功能,苹果为我们提供了NSURLSessionDownloadTask这个类来完成。NSURLSessionDownloadTask支持block下载和代理下载两种方式。Block下载方式不适合大文件下载,因为该方法需要等到文件下载完毕才会回调comple…
【iOS】私有API的使用
iOS 中的 API 大致分为三种:Published API(公开的 API)、UnPublished API(未公开的 API)和 Private API(私有 API)。 我们日常使用的 API 都是公开的 API,存放在 Frameworks 框架中。而未公开的 API…
【iOS】黑魔法 Method Swizzling 及对代理方法的 hook
iOS的runtime中有一种神奇的黑魔法: Method Swizzling,利用它可以做很多有趣的事情。 例如,假设我们的项目中有这么一个需求,需要在用户进入每个页面时进行埋点。那么我们不外乎有如下几种处理方法: 接下来我们依次分析每种方法的利弊。方法1等于是将相同的代码来…
下一页
个人成就
文章被点赞
45
文章被阅读
38,045
掘力值
463
关注了
11
关注者
10
收藏集
0
关注标签
53
加入于
2020-06-02