公众号 | 掘金 |
---|---|
fgyong开发日记 |
ifgyong / ifgyong.github.io Goto Github PK
View Code? Open in Web Editor NEWifgyong.github.io
Home Page: http://fgyong.cn
ifgyong.github.io
Home Page: http://fgyong.cn
公众号 | 掘金 |
---|---|
fgyong开发日记 |
RunLoop和线程的关系,以及Thread如何保活和控制生命周期,今天我们再探究下另外的一个线程GCD,揭开蒙娜丽莎的面纱。 GCD 基础知识GCD是什么呢?我们引用百度百科的一段话。 Grand Central Dispatch (GCD)是Apple开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并行任务。
使用钩子实现了对字典和数组的赋值的校验,顺便随手撸了一个简单的jsonToModel,iOS除了runtime还有一个东西的叫做runloop,各位看官老爷一定都有了解,那么今天这篇文章初识一下runloop。 什么是runloop简单来讲runloop就是一个循环,我们写的程序,一般没有循环的话,执行完就结束了,那么我们手机上的APP是如何一直运行不停止的呢?APP就是用到了runloop,保证
看完本文章你将了解到 DisplayLink和timer的使用和原理 内存分配和内存管理 自动释放池原理 weak指针原理和释放时机 引用计数原理 / DisplayLinkCADisplayLink是将任务添加到runloop中,loop每次循环便会调用target的selector,使用这个也能监测卡顿问题。首先介绍下API 1234567+ (CADisplayLink *)disp
只要提到了多线程就应该想到线程安全,那么怎么做才能做到在多个线程中保证安全呢?这篇文章主要讲解线程安全。 线程安全线程安全是什么呢?摘抄一段百度百科的一段话 线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。 为什么需要线程安全ATM肯定用过,你要是边取钱,边
arm64之后isa是使用联合体使用更少的空间存储更多的数据,以及如何自定义和使用联合体,objc_class->cache_t cache是一个是缓存最近调用class的方法,当缓存剩余空间小余1/4则进行扩容,扩容为原来的两倍,扩容之后,已存储的method_t扩容之后之后被清空。今天我们在了解runtime的消息转发机制。 基础知识OC中的方法调用,其实都是转换为objc_msgSen
这篇文章主要讲解关于架构的一些思考,通过这篇文章你将了解到 MVC MVC变种 MVP MVVM 分层设计的优缺点 没有最好的架构,只有最适合业务的架构。 MVC苹果版本的MVC是Model和VC和交互,VC和View交互 优点:View和Model可以重复利用,可以独立使用 缺点:Controller的代码过于臃肿 代码: 123456789101112131415161718
http://fgyong.cn/2019/12/05/APP%E8%B5%84%E6%BA%90%E4%BC%98%E5%8C%96/
在APP中,使用 X1、X2、X3已经是司空见惯的事情了,网上出了清空不再使用的图片和类,是不是做完这些不能再进一步优化了,答案是否定的,当然可以的,今天再探究一下资源管理优化。 资源大部分是图片,说到图片必须讲一下位图和矢量图 位图 位图图像(bitmap),亦称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成
第一个吗
资料分享https://github.com/ifgyong/iOSDataFactory各种iOS学习资料整理,欢迎一起学习!长期更新。包含资料: 1.CFNetWork编程指南 2.Blosks编程要点 3.JS和OC交互 4.OpenGL资料 5.Swift3.0 6.iOS核心动画 7.图像识别技术 8.多线程编程指南 10.性能优化 11.相机与滤镜 12.算法的乐趣 Python3 教
http://fgyong.cn/2019/12/13/iOS%E5%9B%BE%E7%89%87%E4%BC%98%E5%8C%96%20/
基于现在iOS11新生成的图片都是HEIF,该图片使用[UIImage image:name]已不在那么优雅,图片大小为1.8m大小的,读进手机内存,直接飙升了45M,这是我们不想看到的结果,一个页面有多个这样子的图的话,恐怕就是灾难了。 既然原图不能读入,那么如何可以用更少的内存和CPU来解决呢? 这就要先了解该图片的编码了。 HEIC HEIF 带有元数据的HEIF的另一种形式。HEIC文件包
http://fgyong.cn/2019/12/03/iOS%E5%9B%BE%E7%89%87%E4%BC%98%E5%8C%96%20/
基于现在iOS11新生成的图片都是HEIF,该图片使用[UIImage image:name]已不在那么优雅,图片大小为1.8m大小的,读进手机内存,直接飙升了45M,这是我们不想看到的结果,一个页面有多个这样子的图的话,恐怕就是灾难了。 既然原图不能读入,那么如何可以用更少的内存和CPU来解决呢? 这就要先了解该图片的编码了。 HEIC HEIF 带有元数据的HEIF的另一种形式。HEIC文件包
关键字 super关键字super,在调用[super init]的时候,super会转化成结构体__rw_objc_super 12345struct __rw_objc_super { struct objc_object *object; //消息接受者 struct objc_object *superClass; //父类 __rw_objc_super(struct obj
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.