内存栅栏(Memory fence),也称为内存屏障(Memory barrier),以前碰到这类概念都是基于锁的理解,比如dispatch_barrier。在看bmalloc的源代码时,发现其在使用原子性(atomic)的时候,出现了一种memory_order
的概念,所以这里来简单看看原子性方面的问题。
无悔的人生
在处理异步过程中,我们经常会碰到这种情况,需要异步处理并异步回调completionHandler,但是有些场景下,如果你在处理完异步逻辑,而不回调completion的时候,会产生逻辑上的bug或者内存泄露问题,那么我们就需要知道调用方是否调用了completion。
more >>我们在使用@property
这个快捷定义的时候,都没怎么注意系统是怎么实现的,那么我们来看看系统实现的,和我们自己写的setter方法是否一致呢?
我们想要做一个插件,能够直接在界面上就能显示该页面和该事件的pv和uv(据说淘宝就有这种功能),那么就必须将埋点数据和控件进行一一对应。然而我们是行为埋点,很多东西并不会直接绑定控件,所以如果要做这种效果则必然需要对埋点架构进行重新设计,所以这里采用了一个小技巧,来实现大部分控件与埋点的绑定。
more >>gif是我们平时非常常见的图片格式,同时也是一种非常古老的动画图片格式。在我们平时使用的过程中也会有相应的问题,这里我们来看看Gif所带来的一些问题以及解决方式。
more >>tag:
缺失模块。
1、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
2、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: true raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true