240 发简信
  • 120
    红黑树、B树、B+树各自适用的场景

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

    2.1 1436 2 25
  • 120
    iOS:SideTable

    本文源码来自于 objc4-756.2 版本; 一、SideTable 本文研究 sideTable 在 objc4 源码中的使用及其作用,从而...

    2.3 1417 0 15
  • IOS:APP三种状态下收到推送后的跳转操作

    IOS推送总结:1.直接打开APP时,调用didFinishLaunchingWithOptions方法,即使有推送,获取好的推送数量也为0,即...

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

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

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

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

  • iOS:主流启动优化方案浅析

    1. hook objc_msgsend 该方法直接使用汇编编写 hook_msgSend,然后利用 fishhook 进行 hook。原理也相...

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

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

  • 120
    dyld:启动流程解析

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

  • 120
    cocoaPods:公有库私有库

    一、建立依赖库 依赖库说白了就是存放第三方代码的库,而 cocoapods 本质就是第三方库维护和导入的便利性工具。依赖库也叫 pod 库,一般...