240 发简信
IP属地:陕西
  • 是的,为了避免线程退栈,导致读取栈帧访问到非法内存地址

    运行时获取函数调用栈

    在之前做debug工具的时候,就有一个想法,在页面产生卡顿的时候,如果能够获取主线程的函数调用栈就好了,就可以分析出哪里出现了性能瓶颈。由于当时对这部分内容还不是很了解,就没...

  • @Pusswzy 如果你想知道图片处理的原理就必须要了解OpenGL

    浅析GPUImage的设计思想

    在移动端图片处理时,往往因为大量的计算导致需要较长的时间,为了充分利用设备的潜能,所以产生了利用GPU来处理计算的方案。其中最有名的开源方案就是GPUImage。 结构 GP...

  • 程序在执行main方法之前都在做什么

    我们很少关注应用启动前,系统会给我们做些什么事情,可能知道+ load和constructor会在main方法之前执行。那么这次我们来看看main方法之前都做了哪些事情。 以...

  • 120
    函数式编程思想简介

    在平时的iOS开发中,我们大部分还是依靠着最早的MVC的思想开发着,最多也是进行了部分变种,比如MVP,MVVM,这些都是完全的面向对象的思想,在处理一些简单的场景的时候还是...

  • @遥远的旅途_1cbe 需要在layoutsubview中调用yoga的布局计算,目前没有很好的办法自适应高度,你可以添加宽度的约束,然后在布局计算的时候设定宽和无限高来做

    Flex箱型布局在移动端的应用

    在平时开发过程中,用的最多的布局方式当然就是苹果自带的AutoLayout,但是使用的过程中也发现AutoLayout自身也有很多的问题。在我们的项目中,由于展现逻辑比较灵活...

  • @董朋远 本身就是oc的代码,swift也是很简单的应用,稍微学点swift就可以看懂了

    IGListKit简析与DDComponent

    在我们的项目中大量使用了列表以及模块化的思想,所以才有了DDComponent,这个的原理在之前的美学的表现层组件化之路详细的说明了使用方式。最近翻了翻IGListKit的代...

  • @SmallTwo 那应该是你使用方式可能有问题,仔细检查一下各个元素的grow shrink basic

    Flex箱型布局在移动端的应用

    在平时开发过程中,用的最多的布局方式当然就是苹果自带的AutoLayout,但是使用的过程中也发现AutoLayout自身也有很多的问题。在我们的项目中,由于展现逻辑比较灵活...

  • @SmallTwo cell创建的时候大小不一定是最终大小,可能会影响到最后计算

    Flex箱型布局在移动端的应用

    在平时开发过程中,用的最多的布局方式当然就是苹果自带的AutoLayout,但是使用的过程中也发现AutoLayout自身也有很多的问题。在我们的项目中,由于展现逻辑比较灵活...

  • @老虎色 功能并不是很完整,如果可以的话希望能够给我提PR

    自己写的一个埋点管理小工具

    前言 在很多项目中,埋点数据使用表格来统计的,随着项目的进行,数据量越来越复杂,越来越难以维护。所以很多公司都已经开发了一整套系统,从埋点的录入到代码的输出。由于很多时候一套...

  • 120
    资源竞争与死锁检测

    多线程编程一直是一个非常难的话题,而资源竞争和死锁问题则是比较常见的多线程问题,这里我们来看看如何检测这些问题。 LLVM 其实llvm项目自身就有这两者的检测方法。而在xc...

  • 120
    深入理解内存分配

    相信大家在学习C语言的时候,malloc是最早遇到的几个方法之一,这里就来深入的了解下,macOS/iOS中用户空间的内存分配。 引言 首先,我们来看几个有意思的例子,以下几...

  • 120
    原子性内存栅栏问题简述

    内存栅栏(Memory fence),也称为内存屏障(Memory barrier),以前碰到这类概念都是基于锁的理解,比如dispatch_barrier。在看bmallo...

  • 如何判断block回调未被调用

    在处理异步过程中,我们经常会碰到这种情况,需要异步处理并异步回调completionHandler,但是有些场景下,如果你在处理完异步逻辑,而不回调completion的时候...

  • C语言的动态调用

    我们都认为C语言是一种非常静态的语言,几乎没有什么动态特性,同时往往在编译器就决定了整个运行方式,运行期是很难改变其运行状态的。其实C语言也是可以比较动态的,只是由于C语言是...

  • 120
    运行时获取函数调用栈

    在之前做debug工具的时候,就有一个想法,在页面产生卡顿的时候,如果能够获取主线程的函数调用栈就好了,就可以分析出哪里出现了性能瓶颈。由于当时对这部分内容还不是很了解,就没...

  • 120
    C方法的调用参数与ARM汇编

    在平时开发和调试中,经常遇到C调用栈和汇编,所以这里来统一的了解下这部分内容,本章需要一定的汇编基础才能更好的理解。 函数签名 在JavaScript中,我们定义函数和调用函...

  • @施治昂 需要你自己去实现heightfor,计算方法直接调用yoga的方法就可以

    Flex箱型布局在移动端的应用

    在平时开发过程中,用的最多的布局方式当然就是苹果自带的AutoLayout,但是使用的过程中也发现AutoLayout自身也有很多的问题。在我们的项目中,由于展现逻辑比较灵活...