搞一搞Main Thread Checker
Main Thread Checker(后面简称MTC)简单来说就是一个适用于Swift和C语言的小工具。当必须在主线程执行的API在非主线程被调用的时候, MTC会报错并暂停程序执行。该类API包括
AppKit的接口、UIKit的接口和其他需要在主线程执行的API等。
MTC的原理官网也说的比较明白了。在App启动的时候,加载动态库——libMainThreadChecker.dylib,每个装了Xcode 9的人都能在/Applications/Xcode.app/Contents/Developer/usr/lib/
目录下找到该动态库。这个动态库替换了所有应该在主线程调用的方法,替换后的方法会在函数执行之前先检查当前执行的线程是否是主线程,如果不是的话就报错。
因为MTC是通过动态库的方式来实现的,所以想要开启该功能只要链接进该
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
6月29日云栖精选夜读:Java、PHP、Python、JS 等开发者都如何绘制统计图
目前很多程序员绘图基本上都是采用后端生成数据传递给前端,然后前端将数据渲染到绘图库上面进行显示,从而得到我们最后看到的各种图,但是有时候,我们发现需要传递的数据很多很多,那么这个时候如果将数据传递给前端进行分析并展示的话是非常慢的,所以有必要在后端进行各种统计图的生成,下面我们就来聊聊各种程序员都是怎么进行图制作的? 热点热议 Java、PHP、Python、JS 等开发者都如何绘制统计图 作者:琴瑟琵琶 程序员:感觉技术停滞时,该怎么办? 作者:琴瑟琵琶 Linux 之父 Linus 的 8 个趣闻轶事 作者:旧时巷 知识整理 MySQL存储过程详解 mysql 存储过程 作者:家宝 Mybatis调用MySQL存储过程的简单实现 作者:家宝 Vim技能修炼教程(3) - 语法高亮进阶 作者:lusing Linux 基金会透露未来 Linux 内核可能会引入形式验证 作者:琴瑟琵琶 Android热修复升级探索——资源更新之新思路 作者:万壑 美文回顾 Petya勒索病毒疫苗出现,分分钟让电脑对病毒免疫 作者:聚安全平台 提高应用程序可用性的五个要点 作者:博文视点 码农们加班是“...
- 下一篇
关于iOS原生条形码扫描,你需要注意的两三事
前言 这篇文章是我们在新发布的礼物说的iOS端开发过程中遇到的一些关于条形码的问题总结而来。 本文记录的问题是:当AVFoundation使用多译码器扫描的时候。二维码是秒杀,但是条形码却经常扫不上。如果去掉二维码的话,条形码扫描又秒杀的问题。 为什么我们没有选用ZXing而是用AVfoundation呢,是因为我说服了老板,iOS7开发,而不再去兼容iOS5/6。所以我们终于可以抛弃效率低下的ZXing,而选择AVFoundation。为什么说ZXing效率低下,我们这里可以说上几句。 ZXing ZXing 是 Google Code上的一个开源的条形码扫描库,是用java设计的,连Google Glass 都在使用的。但有人为了追求更高效率以及可移植性,出现了c++ port. Github上的Objectivc-C port,其实就是用OC代码封装了一下而已,而且已经停止维护。 ZXing扫描,是拿到摄像头的每一帧,然后对其根据如下公式做灰度化 f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j)) 之后做全局直方图二值化的方法,最后按照ISO/IEC...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群
- Windows10,CentOS7,CentOS8安装Nodejs环境