首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
MrLiu647
掘友等级
iOS开发
|
奇虎360
博观而约取,厚积而薄发。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
30
文章 30
沸点 0
赞
30
返回
|
搜索文章
赞
文章( 30 )
沸点( 0 )
iOS App启动优化(三)—— 自己做一个工具监控App的启动耗时
前两篇介绍了《iOS App的启动流程》、《Time Profiler工具的使用》。 本篇将介绍通过hook底层objc_msgSend来掌握所有Objective-C方法的执行耗时。 定义:hook是指在原有方法开始执行时,换成你指定的方法。或在原有方法的执行前后,添加执行你…
iOS 性能监控(一)—— CPU功耗监控
本篇将介绍iOS性能监控工具(QiLagMonitor)中与 “CPU功耗监控” 相关的功能模块。 市场上,我们比较熟悉的CPU架构有ARM(arm64)和Intel(x86)等等。 目前,市场上大部分的iPhone都是基于arm64架构。 因为arm架构有着功耗低的特点,因此…
iOS 性能监控(二)—— 主线程卡顿监控
本篇将介绍iOS性能监控工具(QiLagMonitor)中与 “线程卡顿监控” 相关的功能模块。 主线程runloop默认注册了五个mode:kCFRunLoopDefaultMode、UITrackingRunLoopMode、UIInitializationRunLoopM…
iOS 性能监控(三)—— 方法耗时监控
本篇将介绍iOS性能监控工具(QiLagMonitor)中与 “方法耗时监控” 相关的功能模块。 定义:hook是指在原有方法开始执行时,换成你指定的方法。或在原有方法的执行前后,添加执行你指定的方法。从而达到改变指定方法的目的。 使用runtime 的 Method Swiz…
2019 年度总结 - 647
2019是我第一次写年度总结的一年,也是我正式迈入职场的第一年。 收获也很大,更多的是感恩和感谢吧。 从走出校园,到加入“奇虎360”。 之间发生了很多事,在此好好总结一下2019年的事情。 PS:并且我计划,从2019年开始的每一年的年末都会写一篇博客作为总结。以便整理出来我…
iOS GCD信号量dispatch_semaphore_t
信号量(Semaphore)是多线程环境下的一种保护设施,可以用来保证两个或多个关键代码不被并发调用。 在进入一个关键代码段之前,线程必须获取一个信号量。一旦执行完毕,该线程就会释放信号量。等待下一个信号量被发送,线程才能继续获取到新信号量并再次执行关键代码段。 要求:线程进入…
Go语言基础(一)—— 简介、环境配置、Hello World
Go,又称Golang。2007年,由Google的工程师们开发。2009年,正式发布。 多核硬件架构。 超大规模分布式计算集群。 Web模式导致的前所未有的开发规模和更新速度。 Rob Pike:Unix的早期开发者、UTF-8 创始人。 Ken Thompson:Unix的…
Go语言基础(二)—— 基本常用语法
首先,介绍一下Go语言中如何测试我们的程序。 创建一个first_test.go文件。 1,1,2,3,5,8,13,... 创建一个fibonacci_test.go文件。 第三种:快速声明,编译器会根据所附的值推断出该变量的类型。 不支持指针运算。 string是值类型,其…
Go语言基础(三)—— 面向对象编程
答案是:是也不是。 隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。 提高代码复用性;继承是多态的前提。 父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。 然而,Go语言并不支持继承。提倡使用组合(ha…
Go语言基础(四)—— 优质的容错处理
接下来,我们来看看在Go语言中如何做容错处理。 首先,我们要知道:Go语言中没有try/catch异常机制。 其次,要实现容错处理:使用error类型即可,默认实现error接口。 通过errors.New快速创建error实例。 我们把之前写的Fibonacci的例子加上容错…
下一页
关注了
13
关注者
0
收藏集
0
关注标签
1
加入于
2018-01-19