240 发简信
  • 120
    iOS类加载流程(一):类加载流程的触发

    首先,大家应该都知道 _objc_init 函数是 OC 中类加载比较关键的一个函数,这个函数的调用栈如下: 那么,objc_init 这个函数...

  • 120
    dyld:启动流程解析

    前言 dyld2 和 dyld3 的主要变化体现在源码上就是 dyld-400 和 dyld-600的版本,比如较低版本的模拟器采用的仍然是 d...

  • 120
    JSCore浅析及其在iOS上的使用

    一、浏览器的组成 上文中,中间部分是 WebKit,其他部分由浏览器实现,而 WebKit 中主要分为四大部分: 1. WebKit Embed...

  • 120
    iOS图形学(三):屏幕成像原理

    一、GPU和CPU架构 1. GPU由来 无 GPU 的时代,所有任务都在 CPU 中进行计算和处理,但是随着时代的进步,图片和视频大行其道,而...

  • 120
    instrument实战:iOS的三重缓冲和微型口吃(micro stuttering)

    1. 测试代码 Instrument 中的 Display 模块: iOS 中采用双重缓冲和三重缓冲一起使用,从 display 中就可以看出来...

  • 120
    MQTT教程(一):MQTT简介

    什么是MQTT MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。 一、MQTT是一个协议 协议意味着同http协议、https协议...

  • 120
    红黑树、B树、B+树各自适用的场景

    1. 磁盘基础知识 分页: 现代操作系统都使用虚拟内存来印射到物理内存,内存大小有限且价格昂贵,所以数据的持久化是在磁盘上。虚拟内存、物理内存、...

    2.1 1436 2 25
  • 120
    Dart教程(一):dart安装

    一、安装dart sdk 二、安装VSCode 去官网下载即可 三、安装dart插件 四、安装code runner插件 code runner...

  • 120
    iOS:栈、堆、字符串常量区、全局区

    内存概述 C语言的数据在运行之前,编译器会提前预留一些内存(text 代码区,BSS、data等),这些数据不是说编译器就能生成,而是告诉程序在...