在日常开发过程中,经常会出现循环引用而导致的内存泄露的问题,比如我们有a,b两个对象,对象中都有两个属性name和age,然后出现了下列情况 a.name = b.name;...

在日常开发过程中,经常会出现循环引用而导致的内存泄露的问题,比如我们有a,b两个对象,对象中都有两个属性name和age,然后出现了下列情况 a.name = b.name;...
在进行性能优化之前我们先补充几个概念,方便后续更好的理解性能优化。 RAM和ROM RAM:属于系统运行时内存,具有读取速度快、能和CPU进行数据交换的优点,但是不具备掉电存...
AutoreleasePool是OC中的一种自动回收机制,在ARC的模式下已经很少能看到autorelease了,它可以延迟变量release的时机。在OC的main.m中就...
本篇记录一下对OpenGL中坐标系的理解 抛出问题 我们平时玩过的3D游戏,一些人物模型、物体模型等都是以3D的效果呈现在玩家面前,而计算机或手机屏幕实际上是2D的坐标系,那...
本篇探索图片从文件渲染到屏幕的过程,目的在于理解着色器的渲染过程。 图形图片的渲染过程 显示器显示图像原理 显示器的电子枪从上到下逐行扫描,一行扫描完会发送一个水平同步信号H...
之前在项目中使用WKWebView加载web网页时,出现Cookies在App端不同步的问题,在UIWebView中却是好用的,以为是WKWebView的坑,就通过JS交互的...
参考官方文档 KVC概述 键值编码是一种由NSKeyValueCoding非正式协议启用的机制,对象采用该机制提供对其属性的间接访问。键值编码是一个基本概念,是许多其他Coc...
看上图,这是我们公司的产品,设计的简直是能折磨死我这个屌丝程序员,最下面四个大栏目都是viewpager中加的fragment,第一栏中又是fragment中加viewpag...
GCD 简介1、什么是GCD?全称是 Grand Central Dispatch,纯 C 语言编写,提供了非常多强大的函数2、GCD的优势是什么?GCD 是苹果公司为多核的...
在开始之前,先理解以下几点一、进程和线程的区别和联系:1、地址资源:进程有自己的内存地址,进程内的线程可以共享进程的内存地址2、资源分配和调度:进程是系统进行资源分配和拥有的...
本篇笔记记录WebViewJavascriptBridge在WKWebView中的使用和原理分析 WebViewJavascriptBridge的方法介绍 WebViewJa...
Runtime是C,C++汇编一起写成的API,有两个版本Modern和Legacy,OC2.0之后用的是Modern Version版本,可以运行在iOS2.0和macOS...
本篇是探索底层Runloop,目的是能够深入理解Runloop是干什么用的?什么时候用?怎么用? 1、什么是runloop? runloop是一个循环,它在持续不断的跑圈,i...
KVO是Objective-C中的键值监听策略,本篇能学习到以下知识点1、KVO的使用方法大全2、KVO的底层如何实现3、自定义KVO KVO的使用方法大全 Part1、KV...