WWDC20 10146 - App Clips 的配置及链接处理

视频链接: WWDC 2020 - Configure and link your app clips

本篇介绍了 App Clips 链接处理所需要知道的所有内容。 App Clips通过最简化的方式,为你的用户提供了一个体验应用程序的入口。当你的用户需要 App 的具体功能来处理某项操作时,App Clips 会通过 deep-linked 的方式无缝将 App 的具体模块呈现给用户。本篇会介绍 App Clip 内链接的处理和配置链接所需的操作。

iOS 内存相关梳理

iOS 的内核是 XNU,XNU 是 Darwin 的一部分,而 Darwin 又是基于 FreeBSD 和 NetBSD 开发,集成了 Mach 微内核,BSD 是基于 UNIX。虽然 Linux 也是基于 UNIX,但 Darwin 和 Linux 没有直接继承的关系。内核 Darwin 是 C 写的,中层框架和库时 C 和 Objective-C 写的。

本文先从一般桌面操作系统的内存机制入手;接着从 iOS 系统层进行分析 iOS 的内存机制及 iOS 系统运行时的内存占用情况;最后到 iOS 中单个 App 的内存管理。

iOS

iOS 启动速度优化调研

本篇主要是对应用启动时间优化的梳理。

iOS

iOS IPA 包体积优化

记录 IPA 包体积优化过程中的一些思路。

YYText 中的 CoreText

富文本框架里YYText在性能方面的表现很出色,它基于 CoreText 做了大量基础处理并实现了两个上层视图组件:YYLabel 和 YYTextView。在了解富文本处理之前,我们还需要对 CoreText 基础知识做一些了解。本篇主要梳理 YYText 中 CoreText 的底层基础部分处理。

iOS 编译过程梳理

iOS 开发常用的语言是 Objective-C 和 Swift,两者都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率很高。本篇主要用于梳理 Objective-C 的编译过程。

iOS 中 JS 与原生交互

本篇用于梳理 WKWebView 中 JS 与原生的交互,及 JavaScriptCore 框架在交互过程中起的作用。

iOS

OSSpinLock 与 os_unfair_lock

OSSpinLock 因为线程安全问题已被 Apple 废弃。苹果建议使用 os_unfair_lock 替换,os_unfair_lock 是互斥锁。

RunLoop 梳理

RunLoop 是 iOS 比较的核心之一,本篇用于梳理 RunLoop 相关的概念和底层实现。

AutoreleasePool 实现原理

AutoreleasePool(自动释放池)是 OC 中一种内存自动回收的机制。在 MRC 中,可以通过 [obj autorelease] 来延迟内存的释放;而 ARC 中的 autorelease 方法是被禁用的,无法主动调用,但对象的内存任在我们不知情的情况下被很好的管理。这就是依赖于背后的 Autorelease 机制,那么是如何管理的呢?