随笔分类 - iOS
摘要:@interface BaseClass : NSObject @property(nonatomic,strong) NSString *one; - (void)hello; - (void)func1; + (void)helloC; @end
阅读全文
摘要:https://juejin.cn/post/6844903966329798669 cpu 耗时,IO 耗时 https://www.cnblogs.com/zyzmlc/p/14080984.html 2.2 main函数后 main函数阶段的优化建议主要有以下几点: 在main函数之后的did
阅读全文
摘要:系统先读取App的可执行文件(Mach-O文件),从里面获得dyld的路径,然后加载dyld,dyld去初始化运行环境,开启缓存策略,加载程序相关依赖库(其中也包含我们的可执行文件),并对这些库进行链接,最后调用每个依赖库的初始化方法,在这一步,runtime被初始化。当所有依赖库的初始化后,轮到最
阅读全文
摘要:With iOS 8 Apple has added a ton of user-facing goodness. The Health app, Apple Pay, and expanded TouchID capabilities — just a few things everyday us
阅读全文
摘要:原文链接:Understanding iOS Exception Types (PS.由于未知原因已失效,经检查,文章中引用的链接都还有效 :) 翻译:CoderWangx 当你的iOS应用崩溃的时候,我们需要去分析异常日志以定位根本原因。崩溃可能是 “低内存崩溃 Low Memory Crash”
阅读全文
摘要:一. 简介 App的启动时间是衡量一个App性能的重要指标,或者可以说是App性能的第一印象。在这篇文章中,我们将要介绍启动时间的相关知识和打点统计。 二. 启动优化 2.1 App启动方式 首先了解一下App的启动方式分为两类: 1. 冷启动:从零开始启动App 2. 热启动:App已经存在内存当
阅读全文
摘要:Github:iOS-Source-Probe 源码探求 几天前 Github 的 RetVal 大神更新了可 debug 版本的 706 <objc/runtime.h> 源码,于是让源码阅读学习得以继续。本文将介绍个人学习 load 方法的全部流程。 load 方法的调用时机 从 Effecti
阅读全文
摘要:uiapplicationmain: 基础元素的创建、关联与事件循环启动。 app\window\event\delegate\life circle Flowchart Flowchart of the default app launch sequence in iOS as of Xcode
阅读全文
摘要:OS X的系统结构,维基百科上有这样一张图:&amp;lt;img src="https://pic1.zhimg.com/50/1e0ea7a7b120b4adeaa76a606e278fea_b.jpg" data-rawwidth="556" data-rawheight="525"
阅读全文
摘要:更好的理解(抽象)、更少的构建(配置)、更方便的表达(语言) 一、iOS系统的网络编程(DSL概念) ios缺省的网络编程只是给出了网络编程的基本概念: urlsession、request、responde、缓存、会话、鉴权体系等; 给出了DSL的基本概念; 需要程序员自己根据需要对这些概念进行组
阅读全文
摘要:语言库 rx aop kvo 功能库 UI network data-model-map cache 跨平台库 wkjscorebridge jspatch 性能监控库:友盟 部署库:jspathc UI开源库 1、组件库 2、构建库(布局) 3、交互库:下拉刷新 4、渲染库
阅读全文
摘要:因为swift没法打.a https://www.jianshu.com/p/ac629a1cb8f5
阅读全文
摘要:While you can use any functional library, I personally prefer RxSwift because I have the most experience with it. However, there are many reactive lib
阅读全文
摘要:三层通信模型: 应用层、解释层、会话层; 通信协议: 通信原语; 报文格式; 网络层: _evaluateJavascript 会话层: #define kQueueHasMessage @"__wvjb_queue_message__" #define kBridgeLoaded @"__brid
阅读全文
摘要:一、静态语言+动态库的形式 静态语言+动态库的形式使用的模式是面向com编程; 每一个动态库对应一个com组件; 动态库通过网络+配置文件的形式动态部署; 支持模块和功能级别的动态升级和替换; 对主体功能无法提供维护; 二、动态语言+动态库: 除了能够提供模块级别的替换和动态升级,还能够提供代码(函
阅读全文
摘要:硬修复: 直接修改工程源码,重新发版; 冷修复: 打补丁包,使用动态库和hook技术,在程序启动时完成问题代码修复;案例:iOS逆向工程; 特征:不修改原始代码、补丁发布、目前不支持动态发布; 热修复: 可执行文件内直接继承热修复启动机制; 程序启动后热修复引擎动态检查家在补丁包,完成动态hook;
阅读全文
摘要:一、一条业务pipeline: 一个连接核心:coreanimation 二、两个进程: 1、app进程; 2、render进程; 首先,由 app 处理事件(Handle Events),如:用户的点击操作,在此过程中 app 可能需要更新 视图树,相应地,图层树 也会被更新。 其次,app 通过
阅读全文
摘要:一、触摸事件派发与视图绘制打包 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ __dispatchPreprocessedEventFromEventQueue __CFRUNLOOP_IS_CALLING_OUT_TO_AN_
阅读全文
摘要:1、事件循环; 2、显示循环:displaylink;系统定时从gpu缓存获取图片信息显示在屏幕。
阅读全文
摘要:https://blog.nswebfrog.com/2017/10/20/swift-practice-ui-chaining-code/
阅读全文

浙公网安备 33010602011771号