记录一次内存泄漏发现过程
前言 本文主要记录在iOS开发中发现的一个系统级别内存泄露的过程。测试iOS系统11.2.1,设备iPhoneX。
前言 本文主要记录在iOS开发中发现的一个系统级别内存泄露的过程。测试iOS系统11.2.1,设备iPhoneX。
前言 我们在查看iOS应用内存时,最常见的手法就是查看左边的Debug Navigator。不知你是否也曾困惑于这个内存究竟包括哪些部分,或者使用Allocations模版观察内存时发现无法和Debug Navigator显示的内存匹配上,这篇文章将带你解答这些疑惑。
前言 提到iOS的内存泄漏检测,第一个想到的应该就是Instruments的Leaks检测模版。不过使用过的人一般都会觉得这个检测不准确,有时候明明泄露了,但是它却检测不出来。本文将带大家深入了解Leaks模版检测泄漏的原理,知道原理之后,你就会明白哪些类型的内存泄漏可以被检测,哪些无法被检测了。
什么是VM Tracker VM Tracker是Xcode Instruments自带的一个内存分析工具,可以帮助你快速查看虚拟内存块的用量状态以及根据虚拟内存块的tag进行分类。如果你想知道关于虚拟内存的相关知识,可以先阅读探索iOS内存分配这篇文章,如果你对虚拟内存以及VM Region不太了解的话,阅读下...
前言 在运行iOS(OSX)程序时,左侧的Debug Navigator中可以看见当前使用的内存。我们也可以使用Instruments的Allocations模板来追踪对象的创建和释放。不知道你是否也曾困惑于Debug Navigator显示的内存和Allocations显示的总内存对不上号的问题。本篇文章将带你...
前言 不知你是否遇到过将CALayer旋转360度的需求,如果有的话,你也许会尝试使用transform做旋转动画,然后发现。。。CALayer根本就不动。本文将深入解释并解决这个问题。
前言 新年第一篇文章,来写一下这几天写的跳一跳小游戏,最近微信推出了这个小游戏,很多人都沉迷于打败好友无法自拔,我也不例外。正好最近也在写SceneKit的系列教程,于是决定做一款这样的游戏练练手,这一篇文章主要介绍游戏项目的主要结构和大致逻辑,因为还有不少地方需要优化,所以更多细节的介绍会在后续文章中进行。下面...
前言 今年的首要研究对象OpenGL基本研究的差不多了,突发奇想,想用CoreGraphics根据OpenGL的渲染流水线,渲染出3D图形来。折腾了2天,写出了个demo,效果如下。 其实这种通过2D渲染引擎渲染3D的技术方案在Flash时代我就听说了,但是当时对于3D技术不是很了解,并没有做深入研究。
获取示例代码,本文代码在分支chapter5中。
获取示例代码,本文代码在分支chapter4中。
获取示例代码,本文代码在分支chapter3中。
获取示例代码,本文代码在分支chapter2中。
获取示例代码,本文代码在分支chapter1中。
获取示例代码,本文代码在分支chapter30中。
获取示例代码,本文代码在分支chapter29中。
获取示例代码,本文代码在分支chapter28中。
获取示例代码,本文代码在分支chapter27中。
获取示例代码,本文代码在分支ARKit中。
获取示例代码,本文代码在分支ARKit中。
获取示例代码,本文代码在分支chapter26中。
获取示例代码,本文代码在分支chapter25中。
点击获取示例代码
获取示例代码,本文代码在分支chapter24中。
获取示例代码,本文代码在分支chapter23中。
获取示例代码,本文代码在分支chapter22中。
点击获取本文示例代码,本文代码在分支transition中。
点击获取本文示例代码
获取示例代码
获取示例代码 前言 工作中有一个需求,将服务端已经生成好的黑白二维码变成渐变的二维码,具体效果如下。 本文将介绍如何使用CALayer的Mask实现渐变二维码的效果。下面是我们需要处理的二维码图片。
下面是本文例子的代码演示。
下面是本文例子的代码演示。
获取示例代码,本文代码在分支chapter21中。
下面是代码演示
下面是代码演示
上一篇介绍了变换矩阵,本篇将介绍两个重要的变换矩阵,透视投影矩阵和正交投影矩阵,下面是代码演示。
本文将介绍3D渲染中的一个重要概念变换矩阵,下面是代码演示。
本文将详细介绍WebGL三角形之外的其余绘制模式,下面是代码演示,通过下拉菜单可以选择不同的绘制模式。
本文将带大家深入了解Shader,下面是代码演示。
本文将介绍如何使用WebGL绘制一个三角形,下面是代码演示。
获取示例代码,本文代码在分支chapter20中。
获取示例代码,本文代码在分支chapter19中。
获取示例代码,本文代码在分支chapter18中。
获取示例代码,本文代码在分支chapter17中。
获取示例代码,本文代码在分支chapter16中。
获取示例代码,本文代码在分支chapter15中。
获取示例代码,本文代码在分支chapter14中。
获取示例代码,本文代码在分支chapter13中。
获取示例代码,本文代码在分支laser中。
获取示例代码,本文代码在分支chapter11中。
获取示例代码,本文代码在分支chapter10中。
获取示例代码,本文代码在分支chapter9中。
获取示例代码,本文代码在分支chapter8中。
获取示例代码,本文代码在分支chapter7中。
获取示例代码,本文代码在分支chapter6中。
获取示例代码,本文代码在分支chapter5中。
获取示例代码,本文代码在分支chapter4中。
这是学习WebGL系列的第一篇文章,我们将了解什么是WebGL以及使用WebGL的一个简单例子。
获取示例代码,本文代码在分支chapter3中。
获取示例代码,本文代码在分支chapter2中。
layout: post title: “第一个OpenGL ES项目” date: 2017-06-28 16:13:25 +0800 categories: 学习OpenGLES系列文章 —!