240 发简信
IP属地:吉林
  • 引用计数原理

    ARC 代码编译阶段,在上下文中自动成对插入MRC下的retain和release方法,保证通过引用计数正确的管理内存(针对堆上)。 iOS中引用计数的存储方案 1、Tagg...

  • 属性的声明和修饰

    @property @property修饰的变量,会通过编译器加入@synthesize自动合成为ivar+getter+setter(property_t),而且会生成成员...

  • iOS触摸事件

    事件的生命周期 1、系统响应阶段:触摸屏幕→IOKit(IOHIDEvent)→通过mach port(IPC进程间通信)转发给SpringBoard(IOHIDEvent)...

  • RunLoop

    RunLoop的核心,主要是涉及到用户态和内核态的切换(mach_msg())。 基本作用 保持程序运行(main()的UIApplicationMain函数中会启动主线程的...

  • iOS的内存管理

    基本原理 app进程的地址空间被分为代码区,数据区,栈区,堆区,进程开始时mach-o文件会把各部分按需加载到对应的内存空间。 虚拟内存 内存管理器为每个进程都创建了一个虚拟...

  • Block笔记

    函数或函数指针+外部上下文变量 = 闭包,block其实是OC对闭包的实现,配合dispatch_queue实现简单的多线程异步。Dispatch_block_t是GCD提供...

  • 线程锁

    多线程下为了访问安全,对同一块资源按照顺序进行的线程同步技术,加锁最常见。 OSSpinLock 自旋锁 申请锁的操作为原子操作,保证只有一个线程在申请锁。 原理:执行do-...

  • iOS中的内存管理

    堆栈区 堆heap:内存由程序员分配、释放,地址不连续,空间大,在OC中一般用来对对象的内存管理。 栈stack:编译器自动分配释放,线性结构,连续的内存区域,速度较快,空间...

  • iOS中的绘制和渲染

    iOS的渲染和绘制机制 显示器原理和技术 电子枪逐行扫描(HSync),一帧画面绘制完成后,复原准备下一帧(VSync信号),此信号产生的频率即刷新率帧率。当缓冲区只有一个时...

  • 视图和动画

    Core Animation iOS系统的核心地位:应用内和应用间都会应用(多个程序间的手势切换)SpringBoard→BackBoard。 应用内的工作:Core Ani...

  • iOS的性能优化

    1、ipa包体积优化 1.1 编译配置优化:编译器代码层面优化Optimize Level;Bitcode(较难适配) 1.2 去除符号信息:影响调试和断点,Strip L...

  • 计算机网络

    TCP/IP协议 概述 //www.greatytc.com/p/b4250ba3ef12 分层模型:TCP/IP协议的网络模型分为应用层,传输层,网络层,链路层。...

  • Category & Extension

    首先,Category(类别)和Extension(类扩展)是非正式协议的两种写法,目的都是在无需子类化的情况下,给类添加方法(和属性)。 Swift 在Swift中,已经没...

  • OC和Swift中的protocol

    OC和SwiftProtocol的共同点 本质都是抽取不同类的共同方法和属性(声明),供遵循协议的类或对象使用。 都可以通过定义协议实例deleagate,来实现委托代理模式...

  • 666,膜拜

    CoreAnimation深入学习的愉快探讨

    CoreAnimation深入学习的愉快探讨 @author imqiuhang 📣前言 If you are writing iOS apps, you are using...

个人介绍
少年虽远,麦田依然